https://air.imag.fr/api.php?action=feedcontributions&user=Clement.Rouquier&feedformat=atom
air - User contributions [en]
2024-03-19T10:36:38Z
User contributions
MediaWiki 1.35.13
https://air.imag.fr/index.php?title=Projets_2017-2018&diff=40924
Projets 2017-2018
2018-03-15T07:43:07Z
<p>Clement.Rouquier: /* Affectations */</p>
<hr />
<div><<[[Projets 2016-2017]] | [[Projets]] | [[Projets 2018-2019]]>><br />
=RICM=<br />
==RICM3==<br />
<br />
==RICM4==<br />
===Projet Semestre S8===<br />
<br />
Enseignants responsables : Olivier Richard, Didier Donsez<br />
<br />
* Dates : Lundi après-midi, Mardi après-midi <br />
* Lancement: 15/01/2018 en 257 à 15h45<br />
* Soutenance: A définir<br />
* Soutenance à mi-parcours: Lundi 12 et mardi 13 mars: [[ordre_passages_mi_parcours_RICM4_2017_2018 | Ordre de passages]]<br />
<br />
* '''Evaluation à mi-parcours le lundi/mardi ???''': Format: 10min (5min de présentation 3 slides au plus, 5min de discussion). Cette évaluation sera prise en compte dans la note finale.<br />
<br />
'''Consignes générales:'''<br />
<br />
* '''Vous devez être pro-actifs !!!''': Si des points sont pas ou mals spécifiés, vous le faîtes et vous justifiez vos choix. Pour les problèmes techniques éventuels vous pouvez: creuser la question, contacter l'auteur du code si il y a lieu, écrire un rapport de bug ('''Attention:''' ca se prépare !), soumettre un patch/pull request, contacter l'enseignant ou la personne référente du projet.<br />
<br />
* '''Vous devez maintenir une fiche de suivi de projet''': elle doit être mise à jour chaque semaine, elle rassemble les élements essentiels du projet, elle indique les évolutions du projet et présente sa feuille de route. '''Note:''' le nom de la fiche doit être composé du nom du projet et suffixé par ricm4_2017_2018. '''Cette fiche compte pour la note finale'''<br />
<br />
* '''Votre code''' pour doit être hébergé sur le gitlab et à l'URL suivante https://gricad-gitlab.univ-grenoble-alpes.fr/Projet-RICM4/17-18 , vous utiliserez votre compte UGA.<br />
<br />
* Les documents public doivent être rédigés en anglais (README, documentation, commentaires de code, nom de variables et de fonctions). Une bonnification sera accordée si le rapport et les transparents sont en anglais (la soutenance sera en francais).<br />
<br />
'''Propositions de projets:'''<br />
<br />
# [[QCM C2I]] , Pierre Gillois, Didier Donsez<br />
# [[Dashboard pour gestionnaire de tâches]] (Angular 5): Olivier Richard<br />
# [[Moteur de workflows distribué]] (WDL/Cromwell): Olivier Richard <br />
# [[ESP32 et language D]]: Olivier Richard<br />
# [[Serious game multi-joueurs pour tables tactiles en réseau]] : Didier Donsez, Anne-Laure Finkel, Stéphanie Diligent.<br />
# [[Challenge OpenCity]] : Georges-Pierre Bonneau, Didier Donsez<br />
# Projet [[UltraTeam]] avec des trackers [[ESP32-LoRa]] + GPS : Reprise partielle du projet eCOM de gestion des courses sportives et du projet [[UltraTeam]] 2017 pour la partie backend et frontend du projet : Didier Donsez<br />
# Projet [[Réseau Social LoRa]] avec des pods [[ESP32-LoRa]] : Olivier Richard.<br />
# Contribution et evaluation au/du projet [https://github.com/IntelLabs/hpat HPAT] (A compiler-based big data framework in Python): Olivier Richard.<br />
# [[Ruche connectée LoRa]] : Nicolas Palix<br />
# [[Serres connectées]] : Nicolas Palix<br />
# [[I-Greenhouse]] : [[Serre connectée aquaponie]] : Nicolas Palix<br />
# Projet "Plateforme de mise en relation pour les entrepreneurs sociaux" : Didier Donsez<br />
# [[Chatbot pour borne d'accueil handicap]] : Didier Donsez, Marie-Paule Balicco et Jérôme Maisonnasse (service accueil handicap COMUE UGA)<br />
# Connected Shop (avec [[Eclipse SmartHome]]) : Didier Donsez.<br />
# [[Deploiment Nucleo | Déploiement sécurisé et sans fil pour carte Nucleo]]: Olivier Richard et Sylain Toru<br />
# [[RobAIR]] : Cobot Majordome : Jérôme Maisonnasse, Germain Lemasson, Bastien Scher (FabMSTIC).<br />
<br />
==== Affectations ====<br />
{|class="wikitable alternance"<br />
|+ Affectation des projets RICM4 2017-2018<br />
|-<br />
|<br />
!scope="col"| Sujet<br />
!scope="col"| Etudiants<br />
!scope="col"| Enseignant(s)<br />
!scope="col"| Fiche de suivi<br />
!scope="col"| Dépot git<br />
|-<br />
<br />
!scope="row"| 1<br />
| [[QCM C2I]]<br />
| NON ATTRIBUÉ<br />
| Pierre Gillois, Didier Donsez<br />
| [[RICM4_2017_2018_-_| Fiche]] - [[RICM4_2017_2018_-_/_SRS|SRS]] - [[RICM4_2017_2018_-_/UML | UML]]<br />
| <br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
<br />
!scope="row"| 2<br />
| [[Dashboard pour gestionnaire de tâches]] (Angular 5)<br />
| BELGUENDOUZ Sekina, LARNICOL Titouan<br />
| Olivier Richard<br />
| [[RICM4_2017_2018_-_Dashboard| Fiche]] - [[RICM4_2017_2018_-_Dashboard/SRS|SRS]] - [[RICM4_2017_2018_-_Dashboard/UML | UML]]<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projet-RICM4/17-18/2 gitlab]<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:Dashboard_en.pdf|Presentation de mi-parcours en anglais]] - [[Media:Dashboard_fr.pdf|Presentation de mi-parcours en français]] - [[Media:Dashboard_fr.pptx|Presentation de mi-parcours en pptx]]<br />
|-<br />
<br />
!scope="row"| 3<br />
| [[Moteur de workflows distribué]] (WDL/Cromwell)<br />
| NON ATTRIBUÉ<br />
| Olivier Richard<br />
| [[RICM4_2017_2018_-_| Fiche]] - [[RICM4_2017_2018_-_/_SRS|SRS]] - [[RICM4_2017_2018_-_/UML | UML]]<br />
| <br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
<br />
!scope="row"| 4<br />
| [[ESP32 et language D]]<br />
| MANGER Raphael, HOUBRON Adrian<br />
| Olivier Richard<br />
| [[RICM4_2017_2018_-_ESP32_D| Fiche]] - [[RICM4_2017_2018_-_ESP32_D/_SRS|SRS]] - [[RICM4_2017_2018_-_ESP32_D/UML | UML]]<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projet-RICM4/17-18/4 gitlab]<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
<br />
!scope="row"| 5<br />
| [[Serious game multi-joueurs pour tables tactiles en réseau]]<br />
| LEPAGE Tim, SERGEANT Dimitri <br />
| Didier Donsez, Anne-Laure Finkel, Stéphanie Diligent<br />
| [[RICM4_2017_2018_-SeriousGame Polystar | Fiche]] - [[RICM4_2017_2018_- SeriousGame Polystar /_SRS|SRS]] - [[RICM4_2017_2018_- SeriousGame Polystar /UML | UML]]<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projet-RICM4/17-18/5 gitlab]<br />
| [[Media:xxx_.pdf|Rapport final]] - [[Media:xxx_.pdf|Presentation finale FR]] - [[Media:xxx_.pdf|Final Presentation EN]] - [[Media:xxx_.pdf|Flyer]] - [[Media:PolyStar.pdf|Presentation de mi-parcours]]<br />
|-<br />
<br />
!scope="row"| 6<br />
| [[Challenge OpenCity]]<br />
| BOUCHERIMA Amina, FOMBARON Quentin<br />
| Georges-Pierre Bonneau, Didier Donsez<br />
| [[RICM4_2017_2018_-_OpenCity| Fiche]] - [[RICM4_2017_2018_-_OpenCity/_SRS|SRS]] - [[RICM4_2017_2018_-_OpenCity/UML | UML]]<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projet-RICM4/17-18/6 gitlab]<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
<br />
!scope="row"| 7.1<br />
| Projet [[UltraTeam]] avec des trackers [[ESP32-LoRa]] + GPS<br />
| TERRIER Bastien, GROS-DAILLON Hugo <br />
| Didier Donsez<br />
| [[RICM4_2017_2018_-_UltraTeam_7.1| Fiche]] - [[RICM4_2017_2018_-_UltraTeam_7.1/_SRS|SRS]] - [[RICM4_2017_2018_-_UltraTeam_7.1/UML | UML]]<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projet-RICM4/17-18/7.1 gitlab]<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:UltraTeam 7.1 Mid Presentation.pdf|Presentation de mi-parcours]]<br />
|-<br />
<br />
!scope="row"| 7.2<br />
| Projet [[UltraTeam]] avec des trackers [[ESP32-LoRa]] + GPS<br />
| MOLION Enzo, VALETTE Léo<br />
| Didier Donsez<br />
| [[RICM4_2017_2018_-_UltraTeamMV| Fiche]] - [[RICM4_2017_2018_-_UltraTeamMV_:_SRS|SRS]] - [[RICM4_2017_2018_-_UltraTeamMV_:_UML | UML]]<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projet-RICM4/17-18/7.2 gitlab]<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
<br />
<br />
!scope="row"| 8<br />
| Projet [[Réseau Social LoRa]] avec des pods [[ESP32-LoRa]]<br />
| VEGREVILLE Thibaud, GENTILLON Loris, ZHENG Jian<br />
| Olivier Richard<br />
| [[RICM4_2017_2018_-_Réseau_Social_LoRa| Fiche]] - [[RICM4_2017_2018_-_Réseau_Social_LoRa/_SRS|SRS]] - [[RICM4_2017_2018_-_Réseau_Social_LoRa/UML | UML]]<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projet-RICM4/17-18/8 gitlab]<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
<br />
!scope="row"| 9<br />
| Contribution et evaluation au/du projet [https://github.com/IntelLabs/hpat HPAT]<br />
| NON ATTRIBUÉ<br />
| Olivier Richard<br />
| [[RICM4_2017_2018_-_| Fiche]] - [[RICM4_2017_2018_-_/_SRS|SRS]] - [[RICM4_2017_2018_-_/UML | UML]]<br />
| <br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
<br />
!scope="row"| 10<br />
| [[Ruche connectée LoRa]] <br />
| BESNIER Benjamin, LÉVESQUE Théo, WEILL William<br />
| Nicolas Palix<br />
| [[RICM4_2017_2018_-_Ruche_Connectee_| Fiche]] - [[RICM4_2017_2018_-_Ruche_Connectee_/_SRS|SRS]] - [[RICM4_2017_2018_-_Ruche_Connectee/UML | UML]]<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projet-RICM4/17-18/10 gitlab]<br />
| [[RICM4_2017_2018_|Rapport final]] - [[RICM4_2017_2018_|Presentation finale FR]] - [[RICM4_2017_2018_|Final Presentation EN]] - [[RICM4_2017_2018_|Flyer]] - [[RICM4_2017_2018_|Presentation de mi-parcours]]<br />
|-<br />
<br />
!scope="row"| 11<br />
| [[Serres connectées]]<br />
| BESNARD Guillaume, DEPRIESTER Timothée<br />
| Nicolas Palix<br />
| [[RICM4_2017_2018_-_Serre_Connectee| Fiche]] - [[RICM4_2017_2018_-_Serre_Connectee_/_SRS|SRS]] - [[RICM4_2017_2018_-_Serre_Connecte/UML | UML]] - [[RICM4_2017_2018_-_Serre_Connecte/Schedule | Schedule]]<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projet-RICM4/17-18/11 gitlab]<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]] - [[Media:RICM4_2017_2018_-_Serre_Connecte_Poster.pdf|Poster]]<br />
|-<br />
<br />
!scope="row"| 12<br />
| [[I-Greenhouse]] : [[Serre connectée aquaponie]] <br />
| SURIER GAROFALO Aurélien, FERREIRA Joffrey, OZENDA Thomas<br />
| Nicolas Palix<br />
| [[RICM4_2017_2018_-_IGreenHouse| Fiche]] - [[RICM4_2017_2018_-_IGreenHouse_/_SRS|SRS]] - [[IGreenHouse/UML | UML]]<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projet-RICM4/17-18/12 gitlab]<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
<br />
!scope="row"| 13<br />
| Projet "Plateforme de mise en relation pour les entrepreneurs sociaux"<br />
| AUBERT Vincent, COURTIAL Julien<br />
| Didier Donsez<br />
| [[RICM4_2017_2018_-_Entrepreneur| Fiche]] - [[RICM4_2017_2018_-_Entrepreneur_AUBERT_COURTIAL/_SRS|SRS]] - [[RICM4_2017_2018_-_/UML | UML]]<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projet-RICM4/17-18/13 gitlab]<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
<br />
<br />
!scope="row"| 14<br />
| [[Chatbot pour borne d'accueil handicap]]<br />
| AUCLAIR-CORDAT Julien, BAMBA Samuel<br />
| Didier Donsez, Marie-Paule Balicco et Jérôme Maisonnasse (service accueil handicap COMUE UGA) <br />
| [[RICM4_2017_2018_-_| Fiche]] - [[RICM4_2017_2018_-_/_SRS|SRS]] - [[RICM4_2017_2018_-_/UML | UML]]<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projet-RICM4/17-18/14 gitlab]<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
<br />
!scope="row"| 15<br />
| Connected Shop (avec [[Eclipse SmartHome]])<br />
| CUZIN Florian, ECHEVET Théo<br />
| Didier Donsez<br />
| [[RICM4_2017_2018_-_| Fiche]] - [[RICM4_2017_2018_-_/_SRS|SRS]] - [[RICM4_2017_2018_-_/UML | UML]]<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projet-RICM4/17-18/15 gitlab]<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
<br />
!scope="row"| 16<br />
| [[Deploiment Nucleo | Déploiement sécurisé et sans fil pour carte Nucleo]]<br />
| CHANET Zoran, CHARLOT Servan<br />
| Olivier Richard, Sylain Toru<br />
| [[RICM4_2017_2018_-_Nucleo | Fiche]] - [[RICM4_2017_2018_-_Nucleo/_SRS|SRS]] - [[RICM4_2017_2018_-_Nucleo/UML | UML]]<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projet-RICM4/17-18/16 gitlab]<br />
| [[RICM4_2017_2018_|Rapport final]] - [[RICM4_2017_2018_|Presentation finale FR]] - [[RICM4_2017_2018_|Final Presentation EN]] - [[RICM4_2017_2018_|Flyer]] - [[Media:Projet_Nucleo_diapo_mi_parcours.pdf|Presentation de mi-parcours]]<br />
|-<br />
<br />
!scope="row"| 17.1<br />
| [[RobAIR]] : Robot Majordome<br />
| DEVOS Xavier, LAFRASSE Cédric<br />
| Jérôme Maisonnasse, Germain Lemasson, Bastien Scher (FabMSTIC)<br />
| [[RICM4_2017_2018_-_RobAIR17-1| Fiche]] - [[RICM4_2017_2018_-_RobAIRDL/_SRS|SRS]] - [[RICM4_2017_2018_-_RobAIRDL/UML | UML]]<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projet-RICM4/17-18/17.1 gitlab]<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
<br />
!scope="row"| 17.2<br />
| [[RobAIR]] : Robot Majordome<br />
| JEAN Jordan, EZ-ZINE Najwa<br />
| Jérôme Maisonnasse, Germain Lemasson, Bastien Scher (FabMSTIC)<br />
| [[RICM4_2017_2018_-_robair2| Fiche]] - [[RICM4_2017_2018_-_robair2/_SRS|SRS]] - [[RICM4_2017_2018_-_robair2/UML | UML]]<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projet-RICM4/17-18/17.2 gitlab]<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
<br />
|}<br />
<br />
==RICM5==<br />
===Projet IoT S9===<br />
Enseignants responsables : Bernard Tourancheau<br />
<br />
Calendrier: ??? Septembre à ??? Décembre 2017.<br />
<br />
* Projet IoT 3 : [[Ski-locator]] (Bernard Tourancheau)<br />
<br />
<br />
<br />
===Projet Semestre S10===<br />
<br />
Enseignants responsables : Didier Donsez<br />
<br />
Calendrier: 29 Janvier à 15 Mars 2018.<br />
<br />
Séances de Management de projets innovants:<br />
* Mercredi 31/01 de 8h à 12h: Stéphanie Diligent<br />
* Mercredi 7 février de 8h à 12h : Stéphanie Diligent<br />
* Mardi 15 février de 8h à 12 : Emmanuelle Tréhoust<br />
* Lundi 26 février de 8h à 12h : Olivier Gilles<br />
* Mardi 13 mars de 8h à 12h : Stéphanie Diligent et Emmanuelle Tréhoust<br />
<br />
Réunion de présentation : 8 Janvier 2018 Matin à 9H00-10H00 (RdV Salle P257 et Salle AIR P259). Faire couler le café.<br />
<br />
Hackathon Vinci (8,9,10/02) : http://hacktogether.vinci-energies.com/<br />
<br />
Démarrage : Lundi 29 Janvier 2018<br />
<br />
Soutenance à mi-parcours : Mercredi 14 Février 2018, 8H00-11H00 (30 minutes par équipe).<br />
<br />
Rendu rapport de management : Mardi 13 Mars 2018 - Matin<br />
<br />
Soutenance (puis Pot de la fin) : Jeudi 15 Mars 2018<br />
<br />
Vendredi 16 Mars : 10000 ans de RICM<br />
<br />
<br />
==== Planning soutenances mi-parcours ====<br />
Mercredi 14 Février 2018, salle P144, 8H00-11H00 (25 minutes TTC par équipe).<br />
<br />
* 8H00-8H30 [[Real Time Subtitles 2017-2018| Real Time Subtitles]]<br />
* 8H30-9H00 [[Deep Learning 2017-2018 | Deep Learning]]<br />
* 9H00-9H30 [[EasyFlight]]<br />
* 9H30-10H00 [[ Réalité virtuelle et Augmentée pour la maintenance d'usines]]<br />
* 10H00-10H30 [[R'Montagne]]<br />
* 10H30-11H00 [[SmartMove]]<br />
* 11H00-11H30 [[RICM5 2017 2018 - UGAChain|UGAChain]]<br />
<br />
==== Planning soutenances finales ====<br />
Jeudi 15 Mars 2018<br />
Matin (Salle P251)<br />
* 8H00-9H00 [[R'Montagne]] (50 minutes TTC)<br />
* 9H00-10H00 [[SmartMove]] (50 minutes TTC)<br />
* 10H00-11H00 (50 minutes TTC) [[ Réalité virtuelle et Augmentée pour la maintenance d'usines]]<br />
* 11H00-12H00 (50 minutes TTC) [[RICM5 2017 2018 - UGAChain|UGAChain]] : Blockchain for Education<br />
Pause déjeuner<br />
Matin (Salle P249)<br />
* 13H00-14H00 [[Real Time Subtitles 2017-2018| Real Time Subtitles]] (50 minutes TTC)<br />
* 14H00-15H00 [[SmartRecruiting]] (50 minutes TTC)<br />
* 15H00-16H00 [[EasyFlight]] (50 minutes TTC)<br />
<br />
====Instructions pour la soutenance====<br />
* Chaque soutenance comporte 20 minutes de présentation, 10 minutes de question et 20 minutes de démonstration. Un transparent doit être consacré au travail confié et réalisé par les étudiants en DUT (AVOSTI) pour R'Montagne.<br />
* La présentation est constituée des chapitres suivants:<br />
** Rappel du sujet/besoin et cahier des charges<br />
** Technologies employées<br />
** Architecture techniques<br />
** Réalisations techniques<br />
** Gestion de projet (méthode, planning prévisionnel et effectif, gestion des risques, rôles des membres, ...)<br />
** Outils (collaboration, CD/CI par exemple ...)<br />
** Métriques logiciels : lignes de code, langages, performance, temps ingénieur (d'après vos journaux)...)<br />
** Conclusion (Retour d'expérience)<br />
** Transparent introduisant la démonstration<br />
* Répétez plusieurs fois votre présentation et votre démonstration. Il y aura des personnalités invitées. Prévoyez un démonstration filmée pour palier à l'effet "démo".<br />
* L'ensemble des documents (y compris photos, vidéos et ''[[Logiciels#Screencast|screencast]]s'') doivent être accessibles depuis le tableau ci-dessous et dans chaque fiche de suivi. Prévoyez une copie sur clé USB.<br />
* Les étudiants de DUT vous accompagnent lors de votre soutenance et présenteront leur travail. Coordonnez vous avec eux et faites les répéter.<br />
* '''TOUT Le matériel prêté devra être rapporté et restitué dans un sac cabas lors de la soutenance.'''<br />
<br />
==== Affectations ====<br />
{|class="wikitable alternance"<br />
|+ Affectation des projets RICM5 2017-2018<br />
|-<br />
|<br />
!scope="col"| Sujet<br />
!scope="col"| Etudiants<br />
!scope="col"| Enseignant(s)<br />
!scope="col"| Fiche de suivi<br />
!scope="col"| Dépot git<br />
|-<br />
<br />
<br />
!scope="row"| 1<br />
| [[Real Time Subtitles 2017-2018| Sous-titre d'un cours en temps réel]]<br />
| '''Estelle ALLARD''' / Aymeric BROCHIER / Louis COCHINHO / Oriane DALLE / Alexandre FERRERA / Alice RIVOAL<br />
| Didier Donsez, Laurent Besacier, François Portet, Marie-Paule Balicco, Jérome Maisonnasse<br />
| [[Real Time Subtitles 2017-2018| Fiche]] - [[Real_Time_Subtitles_2017-2018/SRS|SRS]]<br />
| [https://gitlab.com/LouisCochinho/RealTimeSubtitles GitLab]<br />
| [[Media:RICM5_2017_2018_Real_time_subtitles_rapport.pdf|Rapport final]] - [[Media:RICM5_2017_2018_Real_time_subtitles_slides.pdf|Presentation finale]] - [[Media:RICM5_2017_2018_Real_time_subtitles_mi.pdf|Presentation de mi-parcours]] - [[Media:RICM5_2017_2018_Real_time_subtitles_flyer.pdf|Flyer]] - [[Media:RICM5_2017_2018_Real_time_subtitles_poster.pdf|Poster]] - [http://youtulle.com/XXXX Vidéo 1]<br />
<br />
|-<br />
<br />
!scope="row"| 2<br />
| [[Réalité Augmentée pour le Smart Campus 2018|Réalité Augmentée pour le Smart Campus]]<br />
| Lucas LESAGE / '''Denis LACHARTRE''' / Douria ZENNOUCHE / Gilles BONHOURE / Maxime DEREYMEZ<br />
| Didier Donsez, Georges-Pierre Bonneau<br />
| [[Campus_Augmente_2017-2018|Fiche]] - [[Media:SRS_ProjetAR_2018.pdf|SRS]] <br />
| [https://github.com/ProjetS10-CyberHoloMachin Organisation Git]<br />
| [[Media:Guide_developpeur_ProjetAR_2018.pdf|Guide developpeur]] - [[Media:RICM5_2017_2018_XYZ.pdf|Presentation finale ]] -[[Media : Cyberposter_ProjetAR_2018.pdf | Poster]] - [[Media:Rapport_final_MPI_ProjetAR_2018.pdf | Rapport final MPI ]] - [[Media:Presentation_Mi_parcours_ProjetAR_2018.pdf|Presentation de mi-parcours]] - [[Media:RICM5_2017_2018_XXXX_flyer.pdf|Flyer]] - [[Media:RICM5_2017_2018_XXXX_poster.pdf|Poster]] - [http://youtulle.com/XXXX Vidéo 1]<br />
|-<br />
<br />
!scope="row"| 3<br />
| SmartRecruiting : [[SmartRecruiting|Deep Learning]] avec [[TensorFlow]] sur les référentiels de compétence<br />
| Héloise FERNANDES DE ALMEIDA / '''Romane GALLIER''' / Alicia AUBERTIN / Antoine GAMBRO / Qianqian FU <br />
| Didier Donsez<br />
| [[SmartRecruiting| Fiche]] - [[SmartRecruiting/SRS|SRS]]<br />
| [https://github.com/Projet-DeepLearning-RICM5-2018 Organisation Git]<br />
| [[Media:RICM5_2017_2018_XYZ.pdf|Rapport final]] - [[Media:RICM5_2017_2018_XYZ.pdf|Presentation finale]] - [[Media:RICM5_2017_2018_DeepLearning_mi-parcours.pdf|Presentation de mi-parcours]] - [[Media:RICM5_2017_2018_XXXX_flyer.pdf|Flyer]] - [[Media:RICM5_2017_2018_XXXX_poster.pdf|Poster]] - [http://youtulle.com/XXXX Vidéo 1]<br />
|-<br />
<br />
!scope="row"| 4<br />
| [[RICM5 2017 2018 - UGAChain|UGAChain]] : Blockchain for Education<br />
| Charles MARCHAND / '''Antoine BOISADAM''' / Ahmed NASSIK / Simon CHAMBONNET / Lucas GUERRY / Aymeric VIAL-GRELIER<br />
| Didier Donsez & co<br />
| style="white-space: nowrap;"|[[RICM5 2017 2018 - UGAChain| Fiche]] - [[RICM5 2017 2018 - UGAChain /_SRS|SRS]]<br />
| [https://github.com/RICM5-BlockChain Github]<br />
| [[Media:RICM5_2017_2018_UGAChain.pdf|Rapport final]] - [[Media:RICM5_2017_2018_UGAChain.pdf|Présentation finale]] - [[Media:RICM5_2017_2018_UGAChain-Flyer.pdf|Flyer]] - [[Media:RICM5_2017_2018_UGAChain_-_Soutenance_mi-parcours.pdf|Présentation de mi-parcours]] - [[Media:RICM5_2017_2018_XXXX_flyer.pdf|Flyer]] - [[Media:RICM5_2017_2018_XXXX_poster.pdf|Poster]] - [http://youtulle.com/XXXX Vidéo 1]<br />
|-<br />
<br />
<br />
!scope="row"| 5<br />
| [[R'Montagne]]<br />
| '''Hugo AMODRU-FAVIN''' / Antoine DELISE / Gwenaël MOREAU<br />
| Bernard Tourancheau<br />
| [[R'Montagne| Fiche]] - [[RICM5_2017_2018_-_RMontagne_/_SRS|SRS]]<br />
| [https://github.com/delisea/R-Montagne Github]<br />
| [[Media:RICM5_2017_2018_XYZ.pdf|Rapport final]] - [[Media:RICM5_2017_2018_RMontagne.pdf|Presentation finale ]] - [[Media:RICM5_2017_2018_XYZ.pdf|Presentation de mi-parcours]] - [[Media:RICM5_2017_2018_XXXX_flyer.pdf|Flyer]] - [[Media:RICM5_2017_2018_XXXX_poster.pdf|Poster]] - [http://youtulle.com/XXXX Vidéo 1]<br />
|-<br />
<br />
!scope="row"| 6<br />
| [[SmartMove]]<br />
| '''Anthony GEOURJON''' / Timothée LEMAIRE / Clément ROUQUIER / Vincent TURRIN<br />
| Bernard Tourancheau<br />
| [[RICM5_2017-2018 - SmartMove| Fiche]] - [[RICM5_2017-2018-SmartMove-SRS|SRS]]<br />
| [https://github.com/orgs/SmartMove-PolytechGrenoble/dashboard Github]<br />
| [[Media:RICM5_2017_2018_XYZ.pdf|Rapport final]] - [[Media:RICM5_2017_2018_SmartMove.pdf|Presentation finale]] - [[Media:RICM5_2017_2018_XYZ.pdf|Presentation de mi-parcours]] - [[Media:RICM5_2017_2018_XXXX_flyer.pdf|Flyer]] - [[Media:RICM5_2017_2018_XXXX_poster.pdf|Poster]] - [http://youtulle.com/XXXX Vidéo 1]<br />
|-<br />
<br />
!scope="row"| 7<br />
| [[EasyFlight 2017-2018|EasyFlight]]<br />
| '''Boris ODIEVRE''' / Remi SAVARY / Lambert ROCHER / Hervé BECHER<br />
| Didier Donsez<br />
| [[EasyFlight 2017-2018| Fiche]] - [[RICM5_2017-2018-EasyFlight-SRS|SRS]]<br />
| [https://github.com/lambertrocher/EasyFlight Github]<br />
| [[Media:RICM5_2017_2018_XYZ.pdf|Rapport final]] - [[Media:RICM5_2017_2018_XYZ.pdf|Presentation finale]] - [[Media:RICM5_2017_2018_XYZ.pdf|Presentation de mi-parcours]] - [[Media:RICM5_2017_2018_XXXX_flyer.pdf|Flyer]] - [[Media:RICM5_2017_2018_XXXX_poster.pdf|Poster]] - [http://youtulle.com/XXXX Vidéo 1]<br />
|-<br />
<br />
<br />
|}<br />
<br />
==== Sujets non choisis ====<br />
* [[Contributions open-source au projet JHipster]] (Didier Donsez)<br />
* [[Contributions à Software Heritage]] (Didier Donsez and co)<br />
* Projet IoT 3 : [[Ski-locator]] (Bernard Tourancheau)<br />
<br />
= Projets collectifs MAT/IESE =<br />
<br />
== Années 3 et 4 ==<br />
<br />
* [[ASAC/SJC|Serres connectées @ Jardin du coteau]]<br />
* [[ASAC/GEJC|Gestion de l'eau @ Jardin du coteau]]<br />
* [[ASAC/AP|Aquaponie @ Polytech]]<br />
<br />
=[[Projets M2PGI Services Machine-to-Machine et Internet-of-Things]]=<br />
==[[PM2M/2018/TP|PM2M]]==</div>
Clement.Rouquier
https://air.imag.fr/index.php?title=File:Pr%C3%A9sentation_finale.pdf&diff=40922
File:Présentation finale.pdf
2018-03-15T07:41:55Z
<p>Clement.Rouquier: Clement.Rouquier moved page File:Présentation finale.pdf to File:RICM5 2017 2018 SmartMove.pdf</p>
<hr />
<div>#REDIRECT [[File:RICM5 2017 2018 SmartMove.pdf]]</div>
Clement.Rouquier
https://air.imag.fr/index.php?title=File:RICM5_2017_2018_SmartMove.pdf&diff=40921
File:RICM5 2017 2018 SmartMove.pdf
2018-03-15T07:41:55Z
<p>Clement.Rouquier: Clement.Rouquier moved page File:Présentation finale.pdf to File:RICM5 2017 2018 SmartMove.pdf</p>
<hr />
<div></div>
Clement.Rouquier
https://air.imag.fr/index.php?title=File:RICM5_2017_2018_SmartMove.pdf&diff=40915
File:RICM5 2017 2018 SmartMove.pdf
2018-03-15T07:30:54Z
<p>Clement.Rouquier: </p>
<hr />
<div></div>
Clement.Rouquier
https://air.imag.fr/index.php?title=RICM5_2017-2018_-_SmartMove&diff=40896
RICM5 2017-2018 - SmartMove
2018-03-15T02:32:28Z
<p>Clement.Rouquier: /* Sprint 7 (en cours) */</p>
<hr />
<div>=Smart Move=<br />
<br />
Smartmove est un ambitieux projet imaginé par quatre étudiants de [https://www.polytech-grenoble.fr/ Polytech Grenoble]. Smartmove est une approche nouvelle du sport avec l'IoT et l'apprentissage machine.<br />
<br />
[[File:Smart-move_logo.png|300px]]<br />
<br />
=Équipe du projet=<br />
{| class="wikitable"<br />
|-<br />
! scope="col" width="200px" | Membre<br />
! scope="col" | Rôles<br />
|-<br />
|Anthony Geourjon<br />
|Chef de projet<br />
|-<br />
|Timothée Lemaire<br />
|Responsable hardware (black belt thinkpad)<br />
|-<br />
|Clément Rouquier<br />
|Responsable Dofus<br />
|-<br />
|Vincent Turrin<br />
|Batteur<br />
|}<br />
<br />
* Supervisé par : Bernard Tourancheau, Didier Donsez<br />
<br />
=Abstract=<br />
In 2017, two highly innovative domains emerge : the Internet of Things and the Artificial Intelligence and especially the machine learning. These technological advances open new possibilities to imagine new ways to help people. In this project, we present our proposal for the [https://iot.eclipse.org/open-iot-challenge/ Open IoT challenge 4.0] organized by the [https://iot.eclipse.org Eclipse Foundation]. This project is also part of the course of Wireless Sensor Networks given by [http://drakkar.imag.fr/spip.php?auteur70&lang=en Prof. Bernard Tourancheau] at [https://www.polytech-grenoble.fr/ Polytech Grenoble] (Engineering school)<br />
<br />
===Mots clés===<br />
* IoT<br />
* Machine learning,<br />
* Sports<br />
<br />
=Présentation= <br />
<br />
Présentation du projet dans le cadre de l'Eclipse IoT challenge : [https://air.imag.fr/index.php/SmartMove Smartmove]<br />
<br />
=SCRUM=<br />
<br />
Une liste plus actualisé des tâches est disponible sur Trello : https://trello.com/b/RVfoU3gl/smart-move-first-tasks<br />
==Sprint 1 - Du 29/01/18 au 04/02/18 ==<br />
<br />
* Définition des rôles<br />
* Mise en place du projet pour tous les membres du groupe(Trello, Github)<br />
* Création de la page AIR pour la tenue de journal<br />
* Prise de contact avec les enseignants concernés<br />
* Début de la phase de conception <br />
<br />
* Séance de management de projets innovants<br />
** Rédaction d'une [https://docs.google.com/document/d/1nxa09q82hH2rLvTtIoq7b92gYE82TqpXkbv_IgrantQ/edit?usp=sharing fiche synthetique] de présentation du projet<br />
<br />
==Sprint 2 - Du 05/02/18 au 11/02/18 ==<br />
<br />
*Définition des taches et des deadline sur Trello<br />
*Première expérimentation avec différents modèles de machine learning. Nous faisons face à de très nombreuses contraintes comparé aux modèles que nous trouvons sur le net comme :<br />
** Nos données sont un flux continu et non un simple échantillon borné à analyser<br />
** Nous recevons des données de plusieurs capteurs, la synchronisation doit être quasi parfaite pour que les données est un sens.<br />
**Nous avons découvert des applications d'enregistrement de mouvement fonctionnant sur Android. https://blog.lemberg.co.uk/motion-gesture-detection-using-tensorflow-android<br />
* Choix des technologies pour la communication entre le téléphone et les Arduinos -> BLE<br />
* Cours de gestion de projet<br />
<br />
==Sprint 3 - Du 12/02/18 au 18/02/18 ==<br />
* Soutenance de mi parcours le mercredi 14/02 de 10h30-11h avec Didier Donsez et Bernard Tourancheau <br />
** Ils sont satisfait de la direction que prend le projet<br />
** Didier nous propose de remplacer les Arduino par des SensorTag qui seraient plus adaptés à nos besoins.<br />
*Expérimentations avec un modèle de machine learning prometteur (LSTP Long short term memory) https://github.com/SmartMove-PolytechGrenoble/TensorFlow-on-Android-for-Human-Activity-Recognition-with-LSTMs<br />
*Expérimentations d'entrainement de modèle sur nos machines -> problème de config sur GPU <br />
*Cours de gestion de projet<br />
<br />
==Sprint 4 - Du 19/02/18 au 25/02/18 ==<br />
Vacances<br />
<br />
==Sprint 5 - Du 26/02/18 au 04/03/18 ==<br />
<br />
*Premières expérimentations avec le SensorTag malgré les problèmes de piles.<br />
*Travail sur la gestion des entraînements (au sens, action que veut reconnaître l'utilisateur)<br />
*Cours de gestion des risques en projets<br />
*Réunion 1 de suivi avec Didier<br />
**Il est satisfait de nos avancées (communication téléphone/SensorTag, avancement dans le machine learning, etc)<br />
<br />
==Sprint 6 - Du 05/03/18 au 11/03/18 (en cours) ==<br />
*Réunion 2 de suivi avec Didier<br />
*Notre modèle est inspiré de : https://drive.google.com/file/d/1u0eh7JCj6yRZqln7Md-eDHJgHbaDcWRC/view?usp=sharing. Nous sommes partis de ce travail et avons modifié le code pour correspondre à nos problématiques / données.<br />
* Enregistrement de données dans diverses positions<br />
<br />
==Sprint 7 - Du 12/03/18 au 18/03/18 (prévisions) ==<br />
* Soutenance le jeudi 15/03 de 9h-10h<br />
* Préparation de la soutenance <br />
* Fusion de tous nos applications de développement en un démonstrateur pour la soutenance<br />
* Enregistrement de données dans diverses positions<br />
* Essais de différents modèle et de différents combinaisons de mouvements<br />
<br />
=Journal=<br />
<br />
==Sprint1==<br />
<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
<br />
|-<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 1</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 29/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Récupération du matériel au fablab (Arduino 101)<br />
*Tentative d'un flash d'un exemple sur la carte<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Lecture et compréhension des divers documents produits durant le S9 par les 3 autres membres du projet, un gros travail de conception ayant déjà été effectué en amont de mon arrivée<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
*Impossible de faire marcher quelque chose sur la carte pourtant elle est détecté<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Confrontation de l'idée que m'ont donné les documents de conception avec la vision des autres membres afin d'assurer une divergence de trajectoire aussi faible que possible<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 30/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Tentative d'un flash d'un exemple sur la carte<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*La technologie de communication entre les cartes et le téléphone s'effectuera sur la base du [https://developer.android.com/guide/topics/connectivity/bluetooth-le.html Bluetooth BLE]. Ayant déjà travaillé sur cette technologie sur le projet [http://air.imag.fr/index.php/UltraTeam UltraTeam], je ferai cette partie.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
*Le bootloader de la carte est broken et ne fonctionne depuis Linux, Avec Windows Timothée y arrive facilement<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Le BLE est une technologie qui m'avait donné beaucoup de tord durant le précédent projet et il m'intéresse de m'y remettre dessus. le nombre de ressources disponibles est assez peu limité et les ressources existantes ont généralement été conçues pour du HardWare spécial<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 31/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Analyse du code d'[https://github.com/ultratrail/mobapp2 UltraTeam] pour voir ce qui est récupérable du travail déjà effectué dans le cadre du projet antérieur<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Etude problématique projet<br />
*Formation tensorflow : tuto simple, structure du code et concepts de base<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Je ne récupérerai que peu de code du précédent projet en raison du nombre important de bricolage. J'ai décidé de me rebaser quasi-exclusivement sur le [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT]<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple"|<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 02/02/18</span><br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Tentative de flash sur l’Arduino récupéré par Anthony au fablab, finalement réussi sur Windows.<br />
*Essai de l'exemple "HearthRate Monitor" avec connexion Bluetooth.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Création d'un [https://github.com/SmartMove-PolytechGrenoble/SmartMove dépot Github] se basant sur un Fork du Google Sample et qui aura ensuite pour but d'être intégré dans l'application finale créée par les autres. <br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Continuation de la formation TF Visionnage vidéos, notamment conférence sur deep learning adapté à Tensorflow<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Travail avec Clément pour faire fonctionner l'exemple en BLE sur son début d'appli. finalement fonctionnel en demandant l'utilisation du GPS sur android (Comme le requière la spécification BLE)<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Le GoogleSample se base sur un design [https://developer.android.com/reference/android/support/v7/app/AppCompatActivity.html AppCompat], ce qui n'est pas pratique pour l'intégration. Je me souviens avoir eu le même problème sur [http://air.imag.fr/index.php/UltraTeam UltraTeam]. Je le gèrerai cependant de façon opposée -> Au lieu de passer toute mon application sur le même design, je vais transformer le code pour l'utiliser sans ce Framework.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple"|<br />
<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 2==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 2</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 05/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur le AIR<br />
*Export des taches backlog sur Trello<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Début du code Arduino en partant de l'exemple "HeartRate Monitor"<br />
|<!-- Clément --> style="width: 280px;" |<br />
*L'APK fournie par un clone du [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT] ne trouve pas toujours les périphériques BLE environnants. Début des investigations<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Pas mal de difficultés lors du test, en raison de difficultés de debugging sur l'Arduino.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*L'application fonctionne sans soucis sur les plus anciennes versions d'Android mais semble avoir des soucis à partir d'une certaine version du SDK toujours indéterminée.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
*Étude des problématiques propres à notre projet : Stream de data, Dynamic Time<br />
|-<br />
<br />
<br />
|-<br />
<br />
| rowspan="2" | <span style="color:green">Mardi 06/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Étude avec Vincent d'une application utilisant de la détection de mouvement Tensor Flow sur Android. https://blog.lemberg.co.uk/motion-gesture-detection-using-tensorflow-android<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Avancement du code Arduino.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Résolution du bug. Il faut depuis le SDK 23 une autorisation de localisation pour faire fonctionner le Bluetooth. [https://stackoverflow.com/questions/32708374/bluetooth-le-scanfilters-dont-work-on-android-m Problème et solution détaillée]<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Etude d’un code de reconnaissance de mouvement tensorflow Android, + test, comprendre pour pouvoir modifier en conséquence<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Résolution des problèmes rencontrés la veille (Mauvais initialisation du module gérant les capteurs), puis travail sur l'envoie des données par blutooth.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*le problème a également fait l'objet de plusieurs [https://github.com/googlesamples/android-BluetoothLeGatt/pulls Pull Requests] sur le dépo. Certaines ont été validées mais aucune mergées.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 07/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Cours de management de projets innovants - 4h<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Finalisation du code arduino pour le moment.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Début du travail d'intégration du [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT] en tant qu'activité secondaire<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Étude approfondie des modèles : il faut sûrement utiliser un LSTM <br />
<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Recherches sur les UUID (pour l'arduino).<br />
*Envoie des valeurs depuis l'arduino sous forme binaire (nécessite de séparer les octets des ints)<br />
*Mise sur Git du code arduino.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*La forme choisie est celle d'un [https://stackoverflow.com/questions/1979369/android-activity-as-a-dialog Dialog Activity] pour avoir une interaction ergonomique et user friendly<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 08/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Diverses expérimentations avec le MotionGesture. Installation de Gesture Manager sur mon téléphone et record de quelques mouvemnts sur un seul capteur (ceux du téléphone). <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Application fonctionnelle de façon satisfaisante. Cependant, elle ne gère qu'un serveur [https://www.bluetooth.com/specifications/gatt/generic-attributes-overview BLE GATT] là où un par capteur serait nécessaire. Début des modifications en ce sens.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Beaucoup de travail est reste à effectuer afin de permettre la gestion de plusieurs serveurs en simultanée quand l'application de base ne le gère pas du tout. Une meilleure conception aurait réduit l'impact de ce problème<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 09/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
<br />
*Etude de l'appli MotionGestureDemo https://github.com/ryanchyshyn/motion_gestures_detection/tree/master/MotionGesturesDemo<br />
*L’intérêt de cette appli est qu'elle exécute un modèle Tensorflow. Le code nécessaire a cela est externalisé dans une librairie que nous pourrions éventuellement réutiliser<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Hackathlon<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Travail de transition pour une gestion multi-serveurs. Modification des structures de données et des Callbacks.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Abandon du code trouvé précédemment car le modèle ne nous correspond pas. Reprise d’un code utilisant un modèle LSTM en Tensorflow, qui reconnait l’activité d’une personne (assis, debout, en train de marcher, montant des marches…)<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 3==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 3</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 12/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
<br />
*Recherche de modèle avec Vincent. Expérimentation avec un modèle LSTM : https://medium.com/@curiousily/human-activity-recognition-using-lstms-on-android-tensorflow-for-hackers-part-vi-492da5adef64<br />
*Prise en main de ce code <br />
<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Etudes du protocole BLE pour l'intégration à l'application android<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Modification de la [https://developer.android.com/reference/android/app/ListActivity.html ListActivity] pour avoir une sélection [https://www.101apps.co.za/articles/making-a-list-coding-multiple-choice-list-dialogs.html Multi Choice]<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Déchiffrage de codes utilisant un modèle LSTM : cela semble être un bon modèle pour notre cas, à voir les résultats pour des moves assez court.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Cela crée un océan de problèmes de logique en raison de la modification a la volée de la liste lors d'une découverte et du clic sur le bouton menu "Scan/Stop". Après beaucoup de travail sur le Sample je me permet de dire que son design est plus que discutable<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 13/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Fork du modèle LSTM : https://github.com/SmartMove-PolytechGrenoble/TensorFlow-on-Android-for-Human-Activity-Recognition-with-LSTMs <br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Poursuite de l'étude BLE.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Suite de la veille<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Modifications du code pour correspondre à notre formattage de données + modification du prétraitement des données<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 14/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Conception de la gestion des entraînements. Entraînements au sens "suite d'activités" que l'utilisateur peut faire et vouloir détecter<br />
*Soutenance mi parcours<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
*Prévision de l'abandon de l'utilisation d'arduinos pour l'utilisation de sensorTags.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Préparation de la soutenance<br />
*Soutenance mi parcours<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
* Résolution problèmes inconnus Tensorflow<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" | <br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 15/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours gestion<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours gestion<br />
*Découverte sensorTag<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Absence jusqu'aux vacances pour cause de déménagement<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours gestion<br />
* Test d'entraîner le modèle avec des jeux de données : impossible à faire tourner hardware trop faible.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 16/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Essai tensor flow sur mon CPU <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Faire tourner Tensorflow sur GPU : fonctionne mieux.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 4 (Vacances) ==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 4</span><br />
|-<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">/!\Vacances/!\</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Semaine du 19 au 25 février</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Clément --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Quelques tests sur SensorTag<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 5==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 5</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 26/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours de gestion<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de gestion<br />
*Analyse de l'application Android sensorTag officiel (openSource)<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de gestion<br />
*Changement de trajectoire du projet, nous utiliserons désormais des [http://www.ti.com/ww/en/wireless_connectivity/sensortag/ SensorTAG]. Début d'analyse des ressources disponibles afin de voir s'il n'est pas possible d'utiliser un code facile à intégrer<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de gestion<br />
* Début modification du code Android d'évalutation : comptabilisation, du nombre de mouvement, chronométrage.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Solution propriétaire à TI analysée : [http://www.ti.com/tool/ble-stack?DCMP=wbu-blestack&HQS=blestack BLE Stack]<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 27/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (création d'entrainement et sauvegarde)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*La solution fonctionne parfaitement mais ne gère pas le Multi Server GATT. Code trop complexe pour modifications et intégration. Abandon de la solution<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Début modification code enregistrement data. Objectif : labéliser, choisir librement les limites.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 28/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (création d'entrainement et sauvegarde)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Recherche de stage<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Recherche de solution alternative pour la connexion au [http://www.ti.com/ww/en/wireless_connectivity/sensortag/ SensorTAG] avec gestion de multi serveur GATT<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Ajout du support du gyroscope<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Beaucoup de ressources disponibles sur le net fonctionnement en fait avec un Gateway Hardware propriétaire, elles sont donc toutes inutilisables dans notre cas<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 01/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (Visualisation)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Découverte du service [https://github.com/devicehive/android-ble Android BLE] de [https://devicehive.com/ DeviceHive] qui se sert d'un téléphone Android comme Gateway entre plusieurs périphériques BLE et un serveur, répondant à toutes nos contraintes. Exploration et mise en place de cette solution<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Entraînement avec nos propres données : il faut beaucoup de données, avec peu de données la précision est vraiment mauvaise.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Solution un peu complexe d'utilisation et qui ne pourra pas être inclue dans une version en production. Cependant très pratique pour acquérir des jeux de données lors du développement<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 02/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (Visualisation)<br />
* Réunion 2<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Réunion 2<br />
|<!-- Clément --> style="width: 280px;" |<br />
* Solution de [https://devicehive.com/ DeviceHive] fonctionnelle, et découverte d'une nouvelle problématique : La fréquence de notifications des données est de 300 ms, bien trop lent. Pourtant, les [http://www.ti.com/lit/sl/szzy004a/szzy004a.pdf spécifications] de la carte indiquent une fréquence minimale de 100 ms (il est d'ailleurs [https://e2e.ti.com/support/wireless_connectivity/bluetooth_low_energy/f/538/t/385413 apparemment] de flasher l'appareil pour augmenter la fréquence)<br />
* Réunion 2<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Réunion 2<br />
* Récolte de plus de données.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Le problème de fréquence est donc soit lié à DeviceHive soit au téléphone Android. Dans l'immédiat, abandon de la solution DeviceHive pour avoir une version fonctionnelle aussi vite que possible<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 6 ==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 6</span><br />
|-<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 05/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*MaJ Air<br />
|<!-- Timothée --> style="width: 280px;" |<br />
Analyse code BLE Android (celui de Clément)<br />
|<!-- Clément --> style="width: 280px;" |<br />
*L'[https://github.com/SmartMove-PolytechGrenoble/motion_gestures_detection/tree/dev_mesh application] développée par Vincent est suffisamment aboutie pour accepter une intégration des services Bluetooth. Début de cette intégration<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Modif learning pour utiliser les nouvelles infos capteurs : gyroscope + accél, Modifications formattage des données (Python)<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Cela demandera tout de même beaucoup de travail étant donné les problèmes de clone et d'intégration inhérents à Android.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 06/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Réunion avec Clément.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Réunion avec Timothée afin de se mettre d'accord pour permettre une parallélisation du travail.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Le vecteur angulaire n'est pas l'information qu'il nous faut mais plutôt la gravité : changement du code, et reprise de la récupération des données.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Je travaillerai sur la partie connexion Bluetooth et lui sur la partie GATT (découverte des services et caractéristiques, inscription et lecture des notifications)<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 07/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Recherche sur les caractéristiques bluetooth du sensorTag et leur utilisations<br />
|<!-- Clément --> style="width: 280px;" |<br />
* Intégration de la connexion a l'appli de récupération des données<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* En fait différentes variable pour l'apprentissage n'avaient pas été touchées, il est possible d'avoir de bons résultats avec peu de données.<br />
* Reprise des tests : très bonne précision avec seulement 40 secondes d'entraînement : les mouvements marcher et sauter sont distingués avec une très bonne précision en ligne droite.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 08/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Excusé (TOEIC)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Papier et téléphone pour le stage.<br />
|<!-- Clément --> style="width: 280px;" |<br />
* Suite. Connexion réussie.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Rectification après tests : il faut bien l'accélération angulaire, je n'ai pas le capteur sur mon téléphone, je reste sur des infos accéléromètre et c'est précis.<br />
* Multiples essais en faisant varier les variables pour l'apprentissage tensorflow.<br />
* Essais et modification du code pour pouvoir faire descendre le nombre de valeur en input assez bas : reconnaître les mouvements de toute durée.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 09/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Développement d'une API pour le contrôle du sensorTag une fois connecté.<br />
|<!-- Clément --> style="width: 280px;" |<br />
* Suite. Clean du code et de la connexion.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Tests avec gyroscope (j'ai utilisé le téléphone de Timothée car j'ai pas de gyroscope). Les résultats sont moins bons qu'avec seulement l'accéléromètre. Il faut plus de training. Je cherche comment donner moins d'importance au gyroscope.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 7 (en cours)==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 7</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 12/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Suite développement de l'API pour le sensorTag, avancées grâce à une doc pertinente.<br />
* Obtention de valeur de l'accéléromètre et du gyroscope du sensorTag.<br />
|<!-- Clément --> style="width: 280px;" |<br />
* Rien<br />
* Rien <br />
* Rien<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Test d'un très grand nombre de settings : retenu analyse d'une fenêtre de 2 secondes, glissante de 500ms en 500ms.<br />
* Code Python (learning) et code Android (utilisant le modèle) rendus totalement scalable avec quelques tableaux en dur à remplir selon nos besoins (capteurs en entrée, moves en sortie, moves à compter...) --> l'entraînement / l'UI est généré en conséquence .<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
* Il faut que je modifie le code pour éviter certains doublons, et éviter des événements incompatibles à la suite. Un autre point : ajouter un deuxième seuil de validation (autre que la probabilité) : assurer une proba > 0.98 pendant deux avancées de la fenêtre par exemple, je pense que cela va donner des résultats robustes. Un gros problème de notre projet est qu'on est en Open set : nos classes ne représentent pas tous les mouvements possibles (c'est un domaine de recherche très répandu actuellement). On a alors du bruit. On va essayer d'utiliser la méthode simple : enregistrer du bruit, et des moves qui n'ont aucun sens.<br />
|-<br />
<br />
|-<br />
<br />
| rowspan="2" | <span style="color:green">Mardi 13/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Cours de gestion de projet<br />
* support de Clément pour l'implémentation l'API sur la base de l'appli.<br />
|<!-- Clément --> style="width: 280px;" |<br />
* Cours de gestion de projet<br />
* Mise en relation de la connexion avec a partie de Timothée, résolution de problèmes<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* De nombreux tweaks par rapport à la problématique : être temps réel/précision/pas de faux positif.<br />
* Réengistrement pour la 70000 fois de données mais ce coup-ci au niveau de la jambe avec et sans gyroscope (j'ai mal aux jambes).<br />
* Ajout de plus d'option pour ajuster la validation d'un move : un move peut être plus ou moins dur à valider.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
* Problème de fréquence d’échantillonnage, la caractéristique BLE prévu a cette effet ne semble pas avoir d'effet.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
* L'ajout du gyroscope (on passe alors à 6 variables) fait exploser la complexité du modèle il prend un temps très long à être entraîné (normal...)<br />
* Retour à accéléromètre seul.<br />
<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 14/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
* Tentative d'implémentation du SensorTag sur l'autre application (???) de gestion des entrainements<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Merge avec le code d'entraînement d'Antho.<br />
* Réengistrement avec Anthony de plein de données (tout au niveau de la ceinture), avec 10Mo de données on devrait être assez précis.<br />
* Tweak du modèle encore et encore.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
* Échec<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 15/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
* Matin : Soutenance<br />
* Apres-Midi : Partir le plus loin possible et ne jamais revenir<br />
|<!-- Vincent --> style="width: 280px;" |<br />
<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
<br />
<br />
<br />
|-<br />
<br />
|}</div>
Clement.Rouquier
https://air.imag.fr/index.php?title=RICM5_2017-2018_-_SmartMove&diff=40871
RICM5 2017-2018 - SmartMove
2018-03-14T14:42:26Z
<p>Clement.Rouquier: /* Sprint 6 */</p>
<hr />
<div>=Smart Move=<br />
<br />
Smartmove est un ambitieux projet imaginé par quatre étudiants de [https://www.polytech-grenoble.fr/ Polytech Grenoble]. Smartmove est une approche nouvelle du sport avec l'IoT et l'apprentissage machine.<br />
<br />
[[File:Smart-move_logo.png|300px]]<br />
<br />
=Équipe du projet=<br />
{| class="wikitable"<br />
|-<br />
! scope="col" width="200px" | Membre<br />
! scope="col" | Rôles<br />
|-<br />
|Anthony Geourjon<br />
|Chef de projet<br />
|-<br />
|Timothée Lemaire<br />
|Responsable hardware (black belt thinkpad)<br />
|-<br />
|Clément Rouquier<br />
|Responsable Dofus<br />
|-<br />
|Vincent Turrin<br />
|Batteur<br />
|}<br />
<br />
* Supervisé par : Bernard Tourancheau, Didier Donsez<br />
<br />
=Abstract=<br />
In 2017, two highly innovative domains emerge : the Internet of Things and the Artificial Intelligence and especially the machine learning. These technological advances open new possibilities to imagine new ways to help people. In this project, we present our proposal for the [https://iot.eclipse.org/open-iot-challenge/ Open IoT challenge 4.0] organized by the [https://iot.eclipse.org Eclipse Foundation]. This project is also part of the course of Wireless Sensor Networks given by [http://drakkar.imag.fr/spip.php?auteur70&lang=en Prof. Bernard Tourancheau] at [https://www.polytech-grenoble.fr/ Polytech Grenoble] (Engineering school)<br />
<br />
===Mots clés===<br />
* IoT<br />
* Machine learning,<br />
* Sports<br />
<br />
=Présentation= <br />
<br />
Présentation du projet dans le cadre de l'Eclipse IoT challenge : [https://air.imag.fr/index.php/SmartMove Smartmove]<br />
<br />
=SCRUM=<br />
<br />
Une liste plus actualisé des tâches est disponible sur Trello : https://trello.com/b/RVfoU3gl/smart-move-first-tasks<br />
==Sprint 1 - Du 29/01/18 au 04/02/18 ==<br />
<br />
* Définition des rôles<br />
* Mise en place du projet pour tous les membres du groupe(Trello, Github)<br />
* Création de la page AIR pour la tenue de journal<br />
* Prise de contact avec les enseignants concernés<br />
* Début de la phase de conception <br />
<br />
* Séance de management de projets innovants<br />
** Rédaction d'une [https://docs.google.com/document/d/1nxa09q82hH2rLvTtIoq7b92gYE82TqpXkbv_IgrantQ/edit?usp=sharing fiche synthetique] de présentation du projet<br />
<br />
==Sprint 2 - Du 05/02/18 au 11/02/18 ==<br />
<br />
*Définition des taches et des deadline sur Trello<br />
*Première expérimentation avec différents modèles de machine learning. Nous faisons face à de très nombreuses contraintes comparé aux modèles que nous trouvons sur le net comme :<br />
** Nos données sont un flux continu et non un simple échantillon borné à analyser<br />
** Nous recevons des données de plusieurs capteurs, la synchronisation doit être quasi parfaite pour que les données est un sens.<br />
**Nous avons découvert des applications d'enregistrement de mouvement fonctionnant sur Android. https://blog.lemberg.co.uk/motion-gesture-detection-using-tensorflow-android<br />
* Choix des technologies pour la communication entre le téléphone et les Arduinos -> BLE<br />
* Cours de gestion de projet<br />
<br />
==Sprint 3 - Du 12/02/18 au 18/02/18 ==<br />
* Soutenance de mi parcours le mercredi 14/02 de 10h30-11h avec Didier Donsez et Bernard Tourancheau <br />
** Ils sont satisfait de la direction que prend le projet<br />
** Didier nous propose de remplacer les Arduino par des SensorTag qui seraient plus adaptés à nos besoins.<br />
*Expérimentations avec un modèle de machine learning prometteur (LSTP Long short term memory) https://github.com/SmartMove-PolytechGrenoble/TensorFlow-on-Android-for-Human-Activity-Recognition-with-LSTMs<br />
*Expérimentations d'entrainement de modèle sur nos machines -> problème de config sur GPU <br />
*Cours de gestion de projet<br />
<br />
==Sprint 4 - Du 19/02/18 au 25/02/18 ==<br />
Vacances<br />
<br />
==Sprint 5 - Du 26/02/18 au 04/03/18 ==<br />
<br />
*Premières expérimentations avec le SensorTag malgré les problèmes de piles.<br />
*Travail sur la gestion des entraînements (au sens, action que veut reconnaître l'utilisateur)<br />
*Cours de gestion des risques en projets<br />
*Réunion 1 de suivi avec Didier<br />
**Il est satisfait de nos avancées (communication téléphone/SensorTag, avancement dans le machine learning, etc)<br />
<br />
==Sprint 6 - Du 05/03/18 au 11/03/18 (en cours) ==<br />
*Réunion 2 de suivi avec Didier<br />
*Notre modèle est inspiré de : https://drive.google.com/file/d/1u0eh7JCj6yRZqln7Md-eDHJgHbaDcWRC/view?usp=sharing. Nous sommes partis de ce travail et avons modifié le code pour correspondre à nos problématiques / données.<br />
<br />
==Sprint 7 - Du 12/03/18 au 18/03/18 (prévisions) ==<br />
* Soutenance le jeudi 15/03 de 9h-10h<br />
* Préparation de la soutenance <br />
* Fusion de tous nos applications de développement en un démonstrateur pour la soutenance<br />
<br />
=Journal=<br />
<br />
==Sprint1==<br />
<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
<br />
|-<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 1</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 29/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Récupération du matériel au fablab (Arduino 101)<br />
*Tentative d'un flash d'un exemple sur la carte<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Lecture et compréhension des divers documents produits durant le S9 par les 3 autres membres du projet, un gros travail de conception ayant déjà été effectué en amont de mon arrivée<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
*Impossible de faire marcher quelque chose sur la carte pourtant elle est détecté<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Confrontation de l'idée que m'ont donné les documents de conception avec la vision des autres membres afin d'assurer une divergence de trajectoire aussi faible que possible<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 30/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Tentative d'un flash d'un exemple sur la carte<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*La technologie de communication entre les cartes et le téléphone s'effectuera sur la base du [https://developer.android.com/guide/topics/connectivity/bluetooth-le.html Bluetooth BLE]. Ayant déjà travaillé sur cette technologie sur le projet [http://air.imag.fr/index.php/UltraTeam UltraTeam], je ferai cette partie.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
*Le bootloader de la carte est broken et ne fonctionne depuis Linux, Avec Windows Timothée y arrive facilement<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Le BLE est une technologie qui m'avait donné beaucoup de tord durant le précédent projet et il m'intéresse de m'y remettre dessus. le nombre de ressources disponibles est assez peu limité et les ressources existantes ont généralement été conçues pour du HardWare spécial<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 31/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Analyse du code d'[https://github.com/ultratrail/mobapp2 UltraTeam] pour voir ce qui est récupérable du travail déjà effectué dans le cadre du projet antérieur<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Etude problématique projet<br />
*Formation tensorflow : tuto simple, structure du code et concepts de base<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Je ne récupérerai que peu de code du précédent projet en raison du nombre important de bricolage. J'ai décidé de me rebaser quasi-exclusivement sur le [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT]<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple"|<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 02/02/18</span><br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Tentative de flash sur l’Arduino récupéré par Anthony au fablab, finalement réussi sur Windows.<br />
*Essai de l'exemple "HearthRate Monitor" avec connexion Bluetooth.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Création d'un [https://github.com/SmartMove-PolytechGrenoble/SmartMove dépot Github] se basant sur un Fork du Google Sample et qui aura ensuite pour but d'être intégré dans l'application finale créée par les autres. <br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Continuation de la formation TF Visionnage vidéos, notamment conférence sur deep learning adapté à Tensorflow<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Travail avec Clément pour faire fonctionner l'exemple en BLE sur son début d'appli. finalement fonctionnel en demandant l'utilisation du GPS sur android (Comme le requière la spécification BLE)<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Le GoogleSample se base sur un design [https://developer.android.com/reference/android/support/v7/app/AppCompatActivity.html AppCompat], ce qui n'est pas pratique pour l'intégration. Je me souviens avoir eu le même problème sur [http://air.imag.fr/index.php/UltraTeam UltraTeam]. Je le gèrerai cependant de façon opposée -> Au lieu de passer toute mon application sur le même design, je vais transformer le code pour l'utiliser sans ce Framework.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple"|<br />
<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 2==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 2</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 05/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur le AIR<br />
*Export des taches backlog sur Trello<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Début du code Arduino en partant de l'exemple "HeartRate Monitor"<br />
|<!-- Clément --> style="width: 280px;" |<br />
*L'APK fournie par un clone du [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT] ne trouve pas toujours les périphériques BLE environnants. Début des investigations<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Pas mal de difficultés lors du test, en raison de difficultés de debugging sur l'Arduino.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*L'application fonctionne sans soucis sur les plus anciennes versions d'Android mais semble avoir des soucis à partir d'une certaine version du SDK toujours indéterminée.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
*Étude des problématiques propres à notre projet : Stream de data, Dynamic Time<br />
|-<br />
<br />
<br />
|-<br />
<br />
| rowspan="2" | <span style="color:green">Mardi 06/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Étude avec Vincent d'une application utilisant de la détection de mouvement Tensor Flow sur Android. https://blog.lemberg.co.uk/motion-gesture-detection-using-tensorflow-android<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Avancement du code Arduino.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Résolution du bug. Il faut depuis le SDK 23 une autorisation de localisation pour faire fonctionner le Bluetooth. [https://stackoverflow.com/questions/32708374/bluetooth-le-scanfilters-dont-work-on-android-m Problème et solution détaillée]<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Etude d’un code de reconnaissance de mouvement tensorflow Android, + test, comprendre pour pouvoir modifier en conséquence<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Résolution des problèmes rencontrés la veille (Mauvais initialisation du module gérant les capteurs), puis travail sur l'envoie des données par blutooth.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*le problème a également fait l'objet de plusieurs [https://github.com/googlesamples/android-BluetoothLeGatt/pulls Pull Requests] sur le dépo. Certaines ont été validées mais aucune mergées.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 07/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Cours de management de projets innovants - 4h<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Finalisation du code arduino pour le moment.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Début du travail d'intégration du [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT] en tant qu'activité secondaire<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Étude approfondie des modèles : il faut sûrement utiliser un LSTM <br />
<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Recherches sur les UUID (pour l'arduino).<br />
*Envoie des valeurs depuis l'arduino sous forme binaire (nécessite de séparer les octets des ints)<br />
*Mise sur Git du code arduino.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*La forme choisie est celle d'un [https://stackoverflow.com/questions/1979369/android-activity-as-a-dialog Dialog Activity] pour avoir une interaction ergonomique et user friendly<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 08/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Diverses expérimentations avec le MotionGesture. Installation de Gesture Manager sur mon téléphone et record de quelques mouvemnts sur un seul capteur (ceux du téléphone). <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Application fonctionnelle de façon satisfaisante. Cependant, elle ne gère qu'un serveur [https://www.bluetooth.com/specifications/gatt/generic-attributes-overview BLE GATT] là où un par capteur serait nécessaire. Début des modifications en ce sens.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Beaucoup de travail est reste à effectuer afin de permettre la gestion de plusieurs serveurs en simultanée quand l'application de base ne le gère pas du tout. Une meilleure conception aurait réduit l'impact de ce problème<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 09/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
<br />
*Etude de l'appli MotionGestureDemo https://github.com/ryanchyshyn/motion_gestures_detection/tree/master/MotionGesturesDemo<br />
*L’intérêt de cette appli est qu'elle exécute un modèle Tensorflow. Le code nécessaire a cela est externalisé dans une librairie que nous pourrions éventuellement réutiliser<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Hackathlon<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Travail de transition pour une gestion multi-serveurs. Modification des structures de données et des Callbacks.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Abandon du code trouvé précédemment car le modèle ne nous correspond pas. Reprise d’un code utilisant un modèle LSTM en Tensorflow, qui reconnait l’activité d’une personne (assis, debout, en train de marcher, montant des marches…)<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 3==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 3</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 12/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
<br />
*Recherche de modèle avec Vincent. Expérimentation avec un modèle LSTM : https://medium.com/@curiousily/human-activity-recognition-using-lstms-on-android-tensorflow-for-hackers-part-vi-492da5adef64<br />
*Prise en main de ce code <br />
<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Etudes du protocole BLE pour l'intégration à l'application android<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Modification de la [https://developer.android.com/reference/android/app/ListActivity.html ListActivity] pour avoir une sélection [https://www.101apps.co.za/articles/making-a-list-coding-multiple-choice-list-dialogs.html Multi Choice]<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Déchiffrage de codes utilisant un modèle LSTM : cela semble être un bon modèle pour notre cas, à voir les résultats pour des moves assez court.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Cela crée un océan de problèmes de logique en raison de la modification a la volée de la liste lors d'une découverte et du clic sur le bouton menu "Scan/Stop". Après beaucoup de travail sur le Sample je me permet de dire que son design est plus que discutable<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 13/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Fork du modèle LSTM : https://github.com/SmartMove-PolytechGrenoble/TensorFlow-on-Android-for-Human-Activity-Recognition-with-LSTMs <br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Poursuite de l'étude BLE.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Suite de la veille<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Modifications du code pour correspondre à notre formattage de données + modification du prétraitement des données<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 14/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Conception de la gestion des entraînements. Entraînements au sens "suite d'activités" que l'utilisateur peut faire et vouloir détecter<br />
*Soutenance mi parcours<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
*Prévision de l'abandon de l'utilisation d'arduinos pour l'utilisation de sensorTags.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Préparation de la soutenance<br />
*Soutenance mi parcours<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
* Résolution problèmes inconnus Tensorflow<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" | <br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 15/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours gestion<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours gestion<br />
*Découverte sensorTag<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Absence jusqu'aux vacances pour cause de déménagement<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours gestion<br />
* Test d'entraîner le modèle avec des jeux de données : impossible à faire tourner hardware trop faible.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 16/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Essai tensor flow sur mon CPU <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Faire tourner Tensorflow sur GPU : fonctionne mieux.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 4 (Vacances) ==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 4</span><br />
|-<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">/!\Vacances/!\</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Semaine du 19 au 25 février</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Clément --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Quelques tests sur SensorTag<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 5==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 5</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 26/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours de gestion<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de gestion<br />
*Analyse de l'application Android sensorTag officiel (openSource)<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de gestion<br />
*Changement de trajectoire du projet, nous utiliserons désormais des [http://www.ti.com/ww/en/wireless_connectivity/sensortag/ SensorTAG]. Début d'analyse des ressources disponibles afin de voir s'il n'est pas possible d'utiliser un code facile à intégrer<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de gestion<br />
* Début modification du code Android d'évalutation : comptabilisation, du nombre de mouvement, chronométrage.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Solution propriétaire à TI analysée : [http://www.ti.com/tool/ble-stack?DCMP=wbu-blestack&HQS=blestack BLE Stack]<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 27/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (création d'entrainement et sauvegarde)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*La solution fonctionne parfaitement mais ne gère pas le Multi Server GATT. Code trop complexe pour modifications et intégration. Abandon de la solution<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Début modification code enregistrement data. Objectif : labéliser, choisir librement les limites.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 28/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (création d'entrainement et sauvegarde)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Recherche de stage<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Recherche de solution alternative pour la connexion au [http://www.ti.com/ww/en/wireless_connectivity/sensortag/ SensorTAG] avec gestion de multi serveur GATT<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Ajout du support du gyroscope<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Beaucoup de ressources disponibles sur le net fonctionnement en fait avec un Gateway Hardware propriétaire, elles sont donc toutes inutilisables dans notre cas<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 01/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (Visualisation)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Découverte du service [https://github.com/devicehive/android-ble Android BLE] de [https://devicehive.com/ DeviceHive] qui se sert d'un téléphone Android comme Gateway entre plusieurs périphériques BLE et un serveur, répondant à toutes nos contraintes. Exploration et mise en place de cette solution<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Entraînement avec nos propres données : il faut beaucoup de données, avec peu de données la précision est vraiment mauvaise.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Solution un peu complexe d'utilisation et qui ne pourra pas être inclue dans une version en production. Cependant très pratique pour acquérir des jeux de données lors du développement<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 02/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (Visualisation)<br />
* Réunion 2<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Réunion 2<br />
|<!-- Clément --> style="width: 280px;" |<br />
* Solution de [https://devicehive.com/ DeviceHive] fonctionnelle, et découverte d'une nouvelle problématique : La fréquence de notifications des données est de 300 ms, bien trop lent. Pourtant, les [http://www.ti.com/lit/sl/szzy004a/szzy004a.pdf spécifications] de la carte indiquent une fréquence minimale de 100 ms (il est d'ailleurs [https://e2e.ti.com/support/wireless_connectivity/bluetooth_low_energy/f/538/t/385413 apparemment] de flasher l'appareil pour augmenter la fréquence)<br />
* Réunion 2<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Réunion 2<br />
* Récolte de plus de données.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Le problème de fréquence est donc soit lié à DeviceHive soit au téléphone Android. Dans l'immédiat, abandon de la solution DeviceHive pour avoir une version fonctionnelle aussi vite que possible<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 6 ==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 6</span><br />
|-<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 05/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*MaJ Air<br />
|<!-- Timothée --> style="width: 280px;" |<br />
Analyse code BLE Android (celui de Clément)<br />
|<!-- Clément --> style="width: 280px;" |<br />
*L'[https://github.com/SmartMove-PolytechGrenoble/motion_gestures_detection/tree/dev_mesh application] développée par Vincent est suffisamment aboutie pour accepter une intégration des services Bluetooth. Début de cette intégration<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Modif learning pour utiliser les nouvelles infos capteurs : gyroscope + accél, Modifications formattage des données (Python)<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Cela demandera tout de même beaucoup de travail étant donné les problèmes de clone et d'intégration inhérents à Android.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 06/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Réunion avec Clément.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Réunion avec Timothée afin de se mettre d'accord pour permettre une parallélisation du travail.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Le vecteur angulaire n'est pas l'information qu'il nous faut mais plutôt la gravité : changement du code, et reprise de la récupération des données.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Je travaillerai sur la partie connexion Bluetooth et lui sur la partie GATT (découverte des services et caractéristiques, inscription et lecture des notifications)<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 07/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Recherche sur les caractéristiques bluetooth du sensorTag et leur utilisations<br />
|<!-- Clément --> style="width: 280px;" |<br />
* Intégration de la connexion a l'appli de récupération des données<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* En fait différentes variable pour l'apprentissage n'avaient pas été touchées, il est possible d'avoir de bons résultats avec peu de données.<br />
* Reprise des tests : très bonne précision avec seulement 40 secondes d'entraînement : les mouvements marcher et sauter sont distingués avec une très bonne précision en ligne droite.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 08/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Excusé (TOEIC)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Papier et téléphone pour le stage.<br />
|<!-- Clément --> style="width: 280px;" |<br />
* Suite. Connexion réussie.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Rectification après tests : il faut bien l'accélération angulaire, je n'ai pas le capteur sur mon téléphone, je reste sur des infos accéléromètre et c'est précis.<br />
* Multiples essais en faisant varier les variables pour l'apprentissage tensorflow.<br />
* Essais et modification du code pour pouvoir faire descendre le nombre de valeur en input assez bas : reconnaître les mouvements de toute durée.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 09/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Développement d'une API pour le contrôle du sensorTag une fois connecté.<br />
|<!-- Clément --> style="width: 280px;" |<br />
* Suite. Clean du code et de la connexion.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Tests avec gyroscope (j'ai utilisé le téléphone de Timothée car j'ai pas de gyroscope). Les résultats sont moins bons qu'avec seulement l'accéléromètre. Il faut plus de training. Je cherche comment donner moins d'importance au gyroscope.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 7 (à venir)==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 7</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 12/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Suite développement de l'API pour le sensorTag, avancées grâce à une doc pertinente.<br />
* Obtention de valeur de l'accéléromètre et du gyroscope du sensorTag.<br />
|<!-- Clément --> style="width: 280px;" |<br />
* Rien<br />
* Rien <br />
* Rien<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Test d'un très grand nombre de settings : retenu analyse d'une fenêtre de 2 secondes, glissante de 500ms en 500ms.<br />
* Code Python (learning) et code Android (utilisant le modèle) rendus totalement scalable avec quelques tableaux en dur à remplir selon nos besoins (capteurs en entrée, moves en sortie, moves à compter...) --> l'entraînement / l'UI est généré en conséquence .<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
* Il faut que je modifie le code pour éviter certains doublons, et éviter des événements incompatibles à la suite. Un autre point : ajouter un deuxième seuil de validation (autre que la probabilité) : assurer une proba > 0.98 pendant deux avancées de la fenêtre par exemple, je pense que cela va donner des résultats robustes. Un gros problème de notre projet est qu'on est en Open set : nos classes ne représentent pas tous les mouvements possibles (c'est un domaine de recherche très répandu actuellement). On a alors du bruit. On va essayer d'utiliser la méthode simple : enregistrer du bruit, et des moves qui n'ont aucun sens.<br />
|-<br />
<br />
|-<br />
<br />
| rowspan="2" | <span style="color:green">Mardi 13/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Cours de gestion de projet<br />
* support de Clément pour l'implémentation l'API sur la base de l'appli.<br />
|<!-- Clément --> style="width: 280px;" |<br />
* Cours de gestion de projet<br />
* Mise en relation de la connexion avec a partie de Timothée, résolution de problèmes<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
* Problème de fréquence d’échantillonnage, la caractéristique BLE prévu a cette effet ne semble pas avoir d'effet.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 14/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
* Tentative de mise de mise du SensorTag sur autre application (???) de gestion des entrainements<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
* Échec<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 15/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
* Matin : Soutenance<br />
* Apres-Midi : Partir le plus loin possible et ne jamais revenir<br />
|<!-- Vincent --> style="width: 280px;" |<br />
<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
<br />
<br />
<br />
|-<br />
<br />
|}</div>
Clement.Rouquier
https://air.imag.fr/index.php?title=RICM5_2017-2018_-_SmartMove&diff=40870
RICM5 2017-2018 - SmartMove
2018-03-14T14:41:48Z
<p>Clement.Rouquier: /* Sprint 7 (à venir) */</p>
<hr />
<div>=Smart Move=<br />
<br />
Smartmove est un ambitieux projet imaginé par quatre étudiants de [https://www.polytech-grenoble.fr/ Polytech Grenoble]. Smartmove est une approche nouvelle du sport avec l'IoT et l'apprentissage machine.<br />
<br />
[[File:Smart-move_logo.png|300px]]<br />
<br />
=Équipe du projet=<br />
{| class="wikitable"<br />
|-<br />
! scope="col" width="200px" | Membre<br />
! scope="col" | Rôles<br />
|-<br />
|Anthony Geourjon<br />
|Chef de projet<br />
|-<br />
|Timothée Lemaire<br />
|Responsable hardware (black belt thinkpad)<br />
|-<br />
|Clément Rouquier<br />
|Responsable Dofus<br />
|-<br />
|Vincent Turrin<br />
|Batteur<br />
|}<br />
<br />
* Supervisé par : Bernard Tourancheau, Didier Donsez<br />
<br />
=Abstract=<br />
In 2017, two highly innovative domains emerge : the Internet of Things and the Artificial Intelligence and especially the machine learning. These technological advances open new possibilities to imagine new ways to help people. In this project, we present our proposal for the [https://iot.eclipse.org/open-iot-challenge/ Open IoT challenge 4.0] organized by the [https://iot.eclipse.org Eclipse Foundation]. This project is also part of the course of Wireless Sensor Networks given by [http://drakkar.imag.fr/spip.php?auteur70&lang=en Prof. Bernard Tourancheau] at [https://www.polytech-grenoble.fr/ Polytech Grenoble] (Engineering school)<br />
<br />
===Mots clés===<br />
* IoT<br />
* Machine learning,<br />
* Sports<br />
<br />
=Présentation= <br />
<br />
Présentation du projet dans le cadre de l'Eclipse IoT challenge : [https://air.imag.fr/index.php/SmartMove Smartmove]<br />
<br />
=SCRUM=<br />
<br />
Une liste plus actualisé des tâches est disponible sur Trello : https://trello.com/b/RVfoU3gl/smart-move-first-tasks<br />
==Sprint 1 - Du 29/01/18 au 04/02/18 ==<br />
<br />
* Définition des rôles<br />
* Mise en place du projet pour tous les membres du groupe(Trello, Github)<br />
* Création de la page AIR pour la tenue de journal<br />
* Prise de contact avec les enseignants concernés<br />
* Début de la phase de conception <br />
<br />
* Séance de management de projets innovants<br />
** Rédaction d'une [https://docs.google.com/document/d/1nxa09q82hH2rLvTtIoq7b92gYE82TqpXkbv_IgrantQ/edit?usp=sharing fiche synthetique] de présentation du projet<br />
<br />
==Sprint 2 - Du 05/02/18 au 11/02/18 ==<br />
<br />
*Définition des taches et des deadline sur Trello<br />
*Première expérimentation avec différents modèles de machine learning. Nous faisons face à de très nombreuses contraintes comparé aux modèles que nous trouvons sur le net comme :<br />
** Nos données sont un flux continu et non un simple échantillon borné à analyser<br />
** Nous recevons des données de plusieurs capteurs, la synchronisation doit être quasi parfaite pour que les données est un sens.<br />
**Nous avons découvert des applications d'enregistrement de mouvement fonctionnant sur Android. https://blog.lemberg.co.uk/motion-gesture-detection-using-tensorflow-android<br />
* Choix des technologies pour la communication entre le téléphone et les Arduinos -> BLE<br />
* Cours de gestion de projet<br />
<br />
==Sprint 3 - Du 12/02/18 au 18/02/18 ==<br />
* Soutenance de mi parcours le mercredi 14/02 de 10h30-11h avec Didier Donsez et Bernard Tourancheau <br />
** Ils sont satisfait de la direction que prend le projet<br />
** Didier nous propose de remplacer les Arduino par des SensorTag qui seraient plus adaptés à nos besoins.<br />
*Expérimentations avec un modèle de machine learning prometteur (LSTP Long short term memory) https://github.com/SmartMove-PolytechGrenoble/TensorFlow-on-Android-for-Human-Activity-Recognition-with-LSTMs<br />
*Expérimentations d'entrainement de modèle sur nos machines -> problème de config sur GPU <br />
*Cours de gestion de projet<br />
<br />
==Sprint 4 - Du 19/02/18 au 25/02/18 ==<br />
Vacances<br />
<br />
==Sprint 5 - Du 26/02/18 au 04/03/18 ==<br />
<br />
*Premières expérimentations avec le SensorTag malgré les problèmes de piles.<br />
*Travail sur la gestion des entraînements (au sens, action que veut reconnaître l'utilisateur)<br />
*Cours de gestion des risques en projets<br />
*Réunion 1 de suivi avec Didier<br />
**Il est satisfait de nos avancées (communication téléphone/SensorTag, avancement dans le machine learning, etc)<br />
<br />
==Sprint 6 - Du 05/03/18 au 11/03/18 (en cours) ==<br />
*Réunion 2 de suivi avec Didier<br />
*Notre modèle est inspiré de : https://drive.google.com/file/d/1u0eh7JCj6yRZqln7Md-eDHJgHbaDcWRC/view?usp=sharing. Nous sommes partis de ce travail et avons modifié le code pour correspondre à nos problématiques / données.<br />
<br />
==Sprint 7 - Du 12/03/18 au 18/03/18 (prévisions) ==<br />
* Soutenance le jeudi 15/03 de 9h-10h<br />
* Préparation de la soutenance <br />
* Fusion de tous nos applications de développement en un démonstrateur pour la soutenance<br />
<br />
=Journal=<br />
<br />
==Sprint1==<br />
<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
<br />
|-<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 1</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 29/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Récupération du matériel au fablab (Arduino 101)<br />
*Tentative d'un flash d'un exemple sur la carte<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Lecture et compréhension des divers documents produits durant le S9 par les 3 autres membres du projet, un gros travail de conception ayant déjà été effectué en amont de mon arrivée<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
*Impossible de faire marcher quelque chose sur la carte pourtant elle est détecté<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Confrontation de l'idée que m'ont donné les documents de conception avec la vision des autres membres afin d'assurer une divergence de trajectoire aussi faible que possible<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 30/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Tentative d'un flash d'un exemple sur la carte<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*La technologie de communication entre les cartes et le téléphone s'effectuera sur la base du [https://developer.android.com/guide/topics/connectivity/bluetooth-le.html Bluetooth BLE]. Ayant déjà travaillé sur cette technologie sur le projet [http://air.imag.fr/index.php/UltraTeam UltraTeam], je ferai cette partie.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
*Le bootloader de la carte est broken et ne fonctionne depuis Linux, Avec Windows Timothée y arrive facilement<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Le BLE est une technologie qui m'avait donné beaucoup de tord durant le précédent projet et il m'intéresse de m'y remettre dessus. le nombre de ressources disponibles est assez peu limité et les ressources existantes ont généralement été conçues pour du HardWare spécial<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 31/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Analyse du code d'[https://github.com/ultratrail/mobapp2 UltraTeam] pour voir ce qui est récupérable du travail déjà effectué dans le cadre du projet antérieur<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Etude problématique projet<br />
*Formation tensorflow : tuto simple, structure du code et concepts de base<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Je ne récupérerai que peu de code du précédent projet en raison du nombre important de bricolage. J'ai décidé de me rebaser quasi-exclusivement sur le [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT]<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple"|<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 02/02/18</span><br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Tentative de flash sur l’Arduino récupéré par Anthony au fablab, finalement réussi sur Windows.<br />
*Essai de l'exemple "HearthRate Monitor" avec connexion Bluetooth.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Création d'un [https://github.com/SmartMove-PolytechGrenoble/SmartMove dépot Github] se basant sur un Fork du Google Sample et qui aura ensuite pour but d'être intégré dans l'application finale créée par les autres. <br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Continuation de la formation TF Visionnage vidéos, notamment conférence sur deep learning adapté à Tensorflow<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Travail avec Clément pour faire fonctionner l'exemple en BLE sur son début d'appli. finalement fonctionnel en demandant l'utilisation du GPS sur android (Comme le requière la spécification BLE)<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Le GoogleSample se base sur un design [https://developer.android.com/reference/android/support/v7/app/AppCompatActivity.html AppCompat], ce qui n'est pas pratique pour l'intégration. Je me souviens avoir eu le même problème sur [http://air.imag.fr/index.php/UltraTeam UltraTeam]. Je le gèrerai cependant de façon opposée -> Au lieu de passer toute mon application sur le même design, je vais transformer le code pour l'utiliser sans ce Framework.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple"|<br />
<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 2==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 2</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 05/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur le AIR<br />
*Export des taches backlog sur Trello<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Début du code Arduino en partant de l'exemple "HeartRate Monitor"<br />
|<!-- Clément --> style="width: 280px;" |<br />
*L'APK fournie par un clone du [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT] ne trouve pas toujours les périphériques BLE environnants. Début des investigations<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Pas mal de difficultés lors du test, en raison de difficultés de debugging sur l'Arduino.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*L'application fonctionne sans soucis sur les plus anciennes versions d'Android mais semble avoir des soucis à partir d'une certaine version du SDK toujours indéterminée.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
*Étude des problématiques propres à notre projet : Stream de data, Dynamic Time<br />
|-<br />
<br />
<br />
|-<br />
<br />
| rowspan="2" | <span style="color:green">Mardi 06/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Étude avec Vincent d'une application utilisant de la détection de mouvement Tensor Flow sur Android. https://blog.lemberg.co.uk/motion-gesture-detection-using-tensorflow-android<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Avancement du code Arduino.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Résolution du bug. Il faut depuis le SDK 23 une autorisation de localisation pour faire fonctionner le Bluetooth. [https://stackoverflow.com/questions/32708374/bluetooth-le-scanfilters-dont-work-on-android-m Problème et solution détaillée]<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Etude d’un code de reconnaissance de mouvement tensorflow Android, + test, comprendre pour pouvoir modifier en conséquence<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Résolution des problèmes rencontrés la veille (Mauvais initialisation du module gérant les capteurs), puis travail sur l'envoie des données par blutooth.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*le problème a également fait l'objet de plusieurs [https://github.com/googlesamples/android-BluetoothLeGatt/pulls Pull Requests] sur le dépo. Certaines ont été validées mais aucune mergées.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 07/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Cours de management de projets innovants - 4h<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Finalisation du code arduino pour le moment.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Début du travail d'intégration du [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT] en tant qu'activité secondaire<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Étude approfondie des modèles : il faut sûrement utiliser un LSTM <br />
<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Recherches sur les UUID (pour l'arduino).<br />
*Envoie des valeurs depuis l'arduino sous forme binaire (nécessite de séparer les octets des ints)<br />
*Mise sur Git du code arduino.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*La forme choisie est celle d'un [https://stackoverflow.com/questions/1979369/android-activity-as-a-dialog Dialog Activity] pour avoir une interaction ergonomique et user friendly<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 08/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Diverses expérimentations avec le MotionGesture. Installation de Gesture Manager sur mon téléphone et record de quelques mouvemnts sur un seul capteur (ceux du téléphone). <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Application fonctionnelle de façon satisfaisante. Cependant, elle ne gère qu'un serveur [https://www.bluetooth.com/specifications/gatt/generic-attributes-overview BLE GATT] là où un par capteur serait nécessaire. Début des modifications en ce sens.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Beaucoup de travail est reste à effectuer afin de permettre la gestion de plusieurs serveurs en simultanée quand l'application de base ne le gère pas du tout. Une meilleure conception aurait réduit l'impact de ce problème<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 09/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
<br />
*Etude de l'appli MotionGestureDemo https://github.com/ryanchyshyn/motion_gestures_detection/tree/master/MotionGesturesDemo<br />
*L’intérêt de cette appli est qu'elle exécute un modèle Tensorflow. Le code nécessaire a cela est externalisé dans une librairie que nous pourrions éventuellement réutiliser<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Hackathlon<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Travail de transition pour une gestion multi-serveurs. Modification des structures de données et des Callbacks.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Abandon du code trouvé précédemment car le modèle ne nous correspond pas. Reprise d’un code utilisant un modèle LSTM en Tensorflow, qui reconnait l’activité d’une personne (assis, debout, en train de marcher, montant des marches…)<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 3==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 3</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 12/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
<br />
*Recherche de modèle avec Vincent. Expérimentation avec un modèle LSTM : https://medium.com/@curiousily/human-activity-recognition-using-lstms-on-android-tensorflow-for-hackers-part-vi-492da5adef64<br />
*Prise en main de ce code <br />
<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Etudes du protocole BLE pour l'intégration à l'application android<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Modification de la [https://developer.android.com/reference/android/app/ListActivity.html ListActivity] pour avoir une sélection [https://www.101apps.co.za/articles/making-a-list-coding-multiple-choice-list-dialogs.html Multi Choice]<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Déchiffrage de codes utilisant un modèle LSTM : cela semble être un bon modèle pour notre cas, à voir les résultats pour des moves assez court.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Cela crée un océan de problèmes de logique en raison de la modification a la volée de la liste lors d'une découverte et du clic sur le bouton menu "Scan/Stop". Après beaucoup de travail sur le Sample je me permet de dire que son design est plus que discutable<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 13/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Fork du modèle LSTM : https://github.com/SmartMove-PolytechGrenoble/TensorFlow-on-Android-for-Human-Activity-Recognition-with-LSTMs <br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Poursuite de l'étude BLE.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Suite de la veille<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Modifications du code pour correspondre à notre formattage de données + modification du prétraitement des données<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 14/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Conception de la gestion des entraînements. Entraînements au sens "suite d'activités" que l'utilisateur peut faire et vouloir détecter<br />
*Soutenance mi parcours<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
*Prévision de l'abandon de l'utilisation d'arduinos pour l'utilisation de sensorTags.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Préparation de la soutenance<br />
*Soutenance mi parcours<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
* Résolution problèmes inconnus Tensorflow<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" | <br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 15/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours gestion<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours gestion<br />
*Découverte sensorTag<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Absence jusqu'aux vacances pour cause de déménagement<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours gestion<br />
* Test d'entraîner le modèle avec des jeux de données : impossible à faire tourner hardware trop faible.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 16/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Essai tensor flow sur mon CPU <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Faire tourner Tensorflow sur GPU : fonctionne mieux.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 4 (Vacances) ==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 4</span><br />
|-<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">/!\Vacances/!\</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Semaine du 19 au 25 février</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Clément --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Quelques tests sur SensorTag<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 5==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 5</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 26/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours de gestion<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de gestion<br />
*Analyse de l'application Android sensorTag officiel (openSource)<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de gestion<br />
*Changement de trajectoire du projet, nous utiliserons désormais des [http://www.ti.com/ww/en/wireless_connectivity/sensortag/ SensorTAG]. Début d'analyse des ressources disponibles afin de voir s'il n'est pas possible d'utiliser un code facile à intégrer<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de gestion<br />
* Début modification du code Android d'évalutation : comptabilisation, du nombre de mouvement, chronométrage.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Solution propriétaire à TI analysée : [http://www.ti.com/tool/ble-stack?DCMP=wbu-blestack&HQS=blestack BLE Stack]<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 27/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (création d'entrainement et sauvegarde)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*La solution fonctionne parfaitement mais ne gère pas le Multi Server GATT. Code trop complexe pour modifications et intégration. Abandon de la solution<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Début modification code enregistrement data. Objectif : labéliser, choisir librement les limites.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 28/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (création d'entrainement et sauvegarde)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Recherche de stage<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Recherche de solution alternative pour la connexion au [http://www.ti.com/ww/en/wireless_connectivity/sensortag/ SensorTAG] avec gestion de multi serveur GATT<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Ajout du support du gyroscope<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Beaucoup de ressources disponibles sur le net fonctionnement en fait avec un Gateway Hardware propriétaire, elles sont donc toutes inutilisables dans notre cas<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 01/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (Visualisation)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Découverte du service [https://github.com/devicehive/android-ble Android BLE] de [https://devicehive.com/ DeviceHive] qui se sert d'un téléphone Android comme Gateway entre plusieurs périphériques BLE et un serveur, répondant à toutes nos contraintes. Exploration et mise en place de cette solution<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Entraînement avec nos propres données : il faut beaucoup de données, avec peu de données la précision est vraiment mauvaise.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Solution un peu complexe d'utilisation et qui ne pourra pas être inclue dans une version en production. Cependant très pratique pour acquérir des jeux de données lors du développement<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 02/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (Visualisation)<br />
* Réunion 2<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Réunion 2<br />
|<!-- Clément --> style="width: 280px;" |<br />
* Solution de [https://devicehive.com/ DeviceHive] fonctionnelle, et découverte d'une nouvelle problématique : La fréquence de notifications des données est de 300 ms, bien trop lent. Pourtant, les [http://www.ti.com/lit/sl/szzy004a/szzy004a.pdf spécifications] de la carte indiquent une fréquence minimale de 100 ms (il est d'ailleurs [https://e2e.ti.com/support/wireless_connectivity/bluetooth_low_energy/f/538/t/385413 apparemment] de flasher l'appareil pour augmenter la fréquence)<br />
* Réunion 2<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Réunion 2<br />
* Récolte de plus de données.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Le problème de fréquence est donc soit lié à DeviceHive soit au téléphone Android. Dans l'immédiat, abandon de la solution DeviceHive pour avoir une version fonctionnelle aussi vite que possible<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 6 ==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 6</span><br />
|-<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 05/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*MaJ Air<br />
|<!-- Timothée --> style="width: 280px;" |<br />
Analyse code BLE Android (celui de Clément)<br />
|<!-- Clément --> style="width: 280px;" |<br />
*L'[https://github.com/SmartMove-PolytechGrenoble/motion_gestures_detection/tree/dev_mesh application] développée par Vincent est suffisamment aboutie pour accepter une intégration des services Bluetooth. Début de cette intégration<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Modif learning pour utiliser les nouvelles infos capteurs : gyroscope + accél, Modifications formattage des données (Python)<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Cela demandera tout de même beaucoup de travail étant donné les problèmes de clone et d'intégration inhérents à Android.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 06/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Réunion avec Clément.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Réunion avec Timothée afin de se mettre d'accord pour permettre une parallélisation du travail.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Le vecteur angulaire n'est pas l'information qu'il nous faut mais plutôt la gravité : changement du code, et reprise de la récupération des données.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Je travaillerai sur la partie connexion Bluetooth et lui sur la partie GATT (découverte des services et caractéristiques, inscription et lecture des notifications)<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 07/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Recherche sur les caractéristiques bluetooth du sensorTag et leur utilisations<br />
|<!-- Clément --> style="width: 280px;" |<br />
Intégration de la connexion a l'appli de récupération des données<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* En fait différentes variable pour l'apprentissage n'avaient pas été touchées, il est possible d'avoir de bons résultats avec peu de données.<br />
* Reprise des tests : très bonne précision avec seulement 40 secondes d'entraînement : les mouvements marcher et sauter sont distingués avec une très bonne précision en ligne droite.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 08/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Excusé (TOEIC)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Papier et téléphone pour le stage.<br />
|<!-- Clément --> style="width: 280px;" |<br />
Suite. Connexion réussie.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Rectification après tests : il faut bien l'accélération angulaire, je n'ai pas le capteur sur mon téléphone, je reste sur des infos accéléromètre et c'est précis.<br />
* Multiples essais en faisant varier les variables pour l'apprentissage tensorflow.<br />
* Essais et modification du code pour pouvoir faire descendre le nombre de valeur en input assez bas : reconnaître les mouvements de toute durée.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 09/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Développement d'une API pour le contrôle du sensorTag une fois connecté.<br />
|<!-- Clément --> style="width: 280px;" |<br />
Suite. Clean du code et de la connexion.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Tests avec gyroscope (j'ai utilisé le téléphone de Timothée car j'ai pas de gyroscope). Les résultats sont moins bons qu'avec seulement l'accéléromètre. Il faut plus de training. Je cherche comment donner moins d'importance au gyroscope.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 7 (à venir)==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 7</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 12/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Suite développement de l'API pour le sensorTag, avancées grâce à une doc pertinente.<br />
* Obtention de valeur de l'accéléromètre et du gyroscope du sensorTag.<br />
|<!-- Clément --> style="width: 280px;" |<br />
* Rien<br />
* Rien <br />
* Rien<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Test d'un très grand nombre de settings : retenu analyse d'une fenêtre de 2 secondes, glissante de 500ms en 500ms.<br />
* Code Python (learning) et code Android (utilisant le modèle) rendus totalement scalable avec quelques tableaux en dur à remplir selon nos besoins (capteurs en entrée, moves en sortie, moves à compter...) --> l'entraînement / l'UI est généré en conséquence .<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
* Il faut que je modifie le code pour éviter certains doublons, et éviter des événements incompatibles à la suite. Un autre point : ajouter un deuxième seuil de validation (autre que la probabilité) : assurer une proba > 0.98 pendant deux avancées de la fenêtre par exemple, je pense que cela va donner des résultats robustes. Un gros problème de notre projet est qu'on est en Open set : nos classes ne représentent pas tous les mouvements possibles (c'est un domaine de recherche très répandu actuellement). On a alors du bruit. On va essayer d'utiliser la méthode simple : enregistrer du bruit, et des moves qui n'ont aucun sens.<br />
|-<br />
<br />
|-<br />
<br />
| rowspan="2" | <span style="color:green">Mardi 13/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Cours de gestion de projet<br />
* support de Clément pour l'implémentation l'API sur la base de l'appli.<br />
|<!-- Clément --> style="width: 280px;" |<br />
* Cours de gestion de projet<br />
* Mise en relation de la connexion avec a partie de Timothée, résolution de problèmes<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
* Problème de fréquence d’échantillonnage, la caractéristique BLE prévu a cette effet ne semble pas avoir d'effet.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 14/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
* Tentative de mise de mise du SensorTag sur autre application (???) de gestion des entrainements<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
* Échec<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 15/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
* Matin : Soutenance<br />
* Apres-Midi : Partir le plus loin possible et ne jamais revenir<br />
|<!-- Vincent --> style="width: 280px;" |<br />
<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
<br />
<br />
<br />
|-<br />
<br />
|}</div>
Clement.Rouquier
https://air.imag.fr/index.php?title=RICM5_2017-2018_-_SmartMove&diff=40869
RICM5 2017-2018 - SmartMove
2018-03-14T14:41:27Z
<p>Clement.Rouquier: /* Sprint 7 */</p>
<hr />
<div>=Smart Move=<br />
<br />
Smartmove est un ambitieux projet imaginé par quatre étudiants de [https://www.polytech-grenoble.fr/ Polytech Grenoble]. Smartmove est une approche nouvelle du sport avec l'IoT et l'apprentissage machine.<br />
<br />
[[File:Smart-move_logo.png|300px]]<br />
<br />
=Équipe du projet=<br />
{| class="wikitable"<br />
|-<br />
! scope="col" width="200px" | Membre<br />
! scope="col" | Rôles<br />
|-<br />
|Anthony Geourjon<br />
|Chef de projet<br />
|-<br />
|Timothée Lemaire<br />
|Responsable hardware (black belt thinkpad)<br />
|-<br />
|Clément Rouquier<br />
|Responsable Dofus<br />
|-<br />
|Vincent Turrin<br />
|Batteur<br />
|}<br />
<br />
* Supervisé par : Bernard Tourancheau, Didier Donsez<br />
<br />
=Abstract=<br />
In 2017, two highly innovative domains emerge : the Internet of Things and the Artificial Intelligence and especially the machine learning. These technological advances open new possibilities to imagine new ways to help people. In this project, we present our proposal for the [https://iot.eclipse.org/open-iot-challenge/ Open IoT challenge 4.0] organized by the [https://iot.eclipse.org Eclipse Foundation]. This project is also part of the course of Wireless Sensor Networks given by [http://drakkar.imag.fr/spip.php?auteur70&lang=en Prof. Bernard Tourancheau] at [https://www.polytech-grenoble.fr/ Polytech Grenoble] (Engineering school)<br />
<br />
===Mots clés===<br />
* IoT<br />
* Machine learning,<br />
* Sports<br />
<br />
=Présentation= <br />
<br />
Présentation du projet dans le cadre de l'Eclipse IoT challenge : [https://air.imag.fr/index.php/SmartMove Smartmove]<br />
<br />
=SCRUM=<br />
<br />
Une liste plus actualisé des tâches est disponible sur Trello : https://trello.com/b/RVfoU3gl/smart-move-first-tasks<br />
==Sprint 1 - Du 29/01/18 au 04/02/18 ==<br />
<br />
* Définition des rôles<br />
* Mise en place du projet pour tous les membres du groupe(Trello, Github)<br />
* Création de la page AIR pour la tenue de journal<br />
* Prise de contact avec les enseignants concernés<br />
* Début de la phase de conception <br />
<br />
* Séance de management de projets innovants<br />
** Rédaction d'une [https://docs.google.com/document/d/1nxa09q82hH2rLvTtIoq7b92gYE82TqpXkbv_IgrantQ/edit?usp=sharing fiche synthetique] de présentation du projet<br />
<br />
==Sprint 2 - Du 05/02/18 au 11/02/18 ==<br />
<br />
*Définition des taches et des deadline sur Trello<br />
*Première expérimentation avec différents modèles de machine learning. Nous faisons face à de très nombreuses contraintes comparé aux modèles que nous trouvons sur le net comme :<br />
** Nos données sont un flux continu et non un simple échantillon borné à analyser<br />
** Nous recevons des données de plusieurs capteurs, la synchronisation doit être quasi parfaite pour que les données est un sens.<br />
**Nous avons découvert des applications d'enregistrement de mouvement fonctionnant sur Android. https://blog.lemberg.co.uk/motion-gesture-detection-using-tensorflow-android<br />
* Choix des technologies pour la communication entre le téléphone et les Arduinos -> BLE<br />
* Cours de gestion de projet<br />
<br />
==Sprint 3 - Du 12/02/18 au 18/02/18 ==<br />
* Soutenance de mi parcours le mercredi 14/02 de 10h30-11h avec Didier Donsez et Bernard Tourancheau <br />
** Ils sont satisfait de la direction que prend le projet<br />
** Didier nous propose de remplacer les Arduino par des SensorTag qui seraient plus adaptés à nos besoins.<br />
*Expérimentations avec un modèle de machine learning prometteur (LSTP Long short term memory) https://github.com/SmartMove-PolytechGrenoble/TensorFlow-on-Android-for-Human-Activity-Recognition-with-LSTMs<br />
*Expérimentations d'entrainement de modèle sur nos machines -> problème de config sur GPU <br />
*Cours de gestion de projet<br />
<br />
==Sprint 4 - Du 19/02/18 au 25/02/18 ==<br />
Vacances<br />
<br />
==Sprint 5 - Du 26/02/18 au 04/03/18 ==<br />
<br />
*Premières expérimentations avec le SensorTag malgré les problèmes de piles.<br />
*Travail sur la gestion des entraînements (au sens, action que veut reconnaître l'utilisateur)<br />
*Cours de gestion des risques en projets<br />
*Réunion 1 de suivi avec Didier<br />
**Il est satisfait de nos avancées (communication téléphone/SensorTag, avancement dans le machine learning, etc)<br />
<br />
==Sprint 6 - Du 05/03/18 au 11/03/18 (en cours) ==<br />
*Réunion 2 de suivi avec Didier<br />
*Notre modèle est inspiré de : https://drive.google.com/file/d/1u0eh7JCj6yRZqln7Md-eDHJgHbaDcWRC/view?usp=sharing. Nous sommes partis de ce travail et avons modifié le code pour correspondre à nos problématiques / données.<br />
<br />
==Sprint 7 - Du 12/03/18 au 18/03/18 (prévisions) ==<br />
* Soutenance le jeudi 15/03 de 9h-10h<br />
* Préparation de la soutenance <br />
* Fusion de tous nos applications de développement en un démonstrateur pour la soutenance<br />
<br />
=Journal=<br />
<br />
==Sprint1==<br />
<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
<br />
|-<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 1</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 29/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Récupération du matériel au fablab (Arduino 101)<br />
*Tentative d'un flash d'un exemple sur la carte<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Lecture et compréhension des divers documents produits durant le S9 par les 3 autres membres du projet, un gros travail de conception ayant déjà été effectué en amont de mon arrivée<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
*Impossible de faire marcher quelque chose sur la carte pourtant elle est détecté<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Confrontation de l'idée que m'ont donné les documents de conception avec la vision des autres membres afin d'assurer une divergence de trajectoire aussi faible que possible<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 30/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Tentative d'un flash d'un exemple sur la carte<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*La technologie de communication entre les cartes et le téléphone s'effectuera sur la base du [https://developer.android.com/guide/topics/connectivity/bluetooth-le.html Bluetooth BLE]. Ayant déjà travaillé sur cette technologie sur le projet [http://air.imag.fr/index.php/UltraTeam UltraTeam], je ferai cette partie.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
*Le bootloader de la carte est broken et ne fonctionne depuis Linux, Avec Windows Timothée y arrive facilement<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Le BLE est une technologie qui m'avait donné beaucoup de tord durant le précédent projet et il m'intéresse de m'y remettre dessus. le nombre de ressources disponibles est assez peu limité et les ressources existantes ont généralement été conçues pour du HardWare spécial<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 31/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Analyse du code d'[https://github.com/ultratrail/mobapp2 UltraTeam] pour voir ce qui est récupérable du travail déjà effectué dans le cadre du projet antérieur<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Etude problématique projet<br />
*Formation tensorflow : tuto simple, structure du code et concepts de base<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Je ne récupérerai que peu de code du précédent projet en raison du nombre important de bricolage. J'ai décidé de me rebaser quasi-exclusivement sur le [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT]<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple"|<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 02/02/18</span><br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Tentative de flash sur l’Arduino récupéré par Anthony au fablab, finalement réussi sur Windows.<br />
*Essai de l'exemple "HearthRate Monitor" avec connexion Bluetooth.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Création d'un [https://github.com/SmartMove-PolytechGrenoble/SmartMove dépot Github] se basant sur un Fork du Google Sample et qui aura ensuite pour but d'être intégré dans l'application finale créée par les autres. <br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Continuation de la formation TF Visionnage vidéos, notamment conférence sur deep learning adapté à Tensorflow<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Travail avec Clément pour faire fonctionner l'exemple en BLE sur son début d'appli. finalement fonctionnel en demandant l'utilisation du GPS sur android (Comme le requière la spécification BLE)<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Le GoogleSample se base sur un design [https://developer.android.com/reference/android/support/v7/app/AppCompatActivity.html AppCompat], ce qui n'est pas pratique pour l'intégration. Je me souviens avoir eu le même problème sur [http://air.imag.fr/index.php/UltraTeam UltraTeam]. Je le gèrerai cependant de façon opposée -> Au lieu de passer toute mon application sur le même design, je vais transformer le code pour l'utiliser sans ce Framework.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple"|<br />
<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 2==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 2</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 05/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur le AIR<br />
*Export des taches backlog sur Trello<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Début du code Arduino en partant de l'exemple "HeartRate Monitor"<br />
|<!-- Clément --> style="width: 280px;" |<br />
*L'APK fournie par un clone du [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT] ne trouve pas toujours les périphériques BLE environnants. Début des investigations<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Pas mal de difficultés lors du test, en raison de difficultés de debugging sur l'Arduino.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*L'application fonctionne sans soucis sur les plus anciennes versions d'Android mais semble avoir des soucis à partir d'une certaine version du SDK toujours indéterminée.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
*Étude des problématiques propres à notre projet : Stream de data, Dynamic Time<br />
|-<br />
<br />
<br />
|-<br />
<br />
| rowspan="2" | <span style="color:green">Mardi 06/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Étude avec Vincent d'une application utilisant de la détection de mouvement Tensor Flow sur Android. https://blog.lemberg.co.uk/motion-gesture-detection-using-tensorflow-android<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Avancement du code Arduino.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Résolution du bug. Il faut depuis le SDK 23 une autorisation de localisation pour faire fonctionner le Bluetooth. [https://stackoverflow.com/questions/32708374/bluetooth-le-scanfilters-dont-work-on-android-m Problème et solution détaillée]<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Etude d’un code de reconnaissance de mouvement tensorflow Android, + test, comprendre pour pouvoir modifier en conséquence<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Résolution des problèmes rencontrés la veille (Mauvais initialisation du module gérant les capteurs), puis travail sur l'envoie des données par blutooth.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*le problème a également fait l'objet de plusieurs [https://github.com/googlesamples/android-BluetoothLeGatt/pulls Pull Requests] sur le dépo. Certaines ont été validées mais aucune mergées.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 07/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Cours de management de projets innovants - 4h<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Finalisation du code arduino pour le moment.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Début du travail d'intégration du [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT] en tant qu'activité secondaire<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Étude approfondie des modèles : il faut sûrement utiliser un LSTM <br />
<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Recherches sur les UUID (pour l'arduino).<br />
*Envoie des valeurs depuis l'arduino sous forme binaire (nécessite de séparer les octets des ints)<br />
*Mise sur Git du code arduino.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*La forme choisie est celle d'un [https://stackoverflow.com/questions/1979369/android-activity-as-a-dialog Dialog Activity] pour avoir une interaction ergonomique et user friendly<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 08/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Diverses expérimentations avec le MotionGesture. Installation de Gesture Manager sur mon téléphone et record de quelques mouvemnts sur un seul capteur (ceux du téléphone). <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Application fonctionnelle de façon satisfaisante. Cependant, elle ne gère qu'un serveur [https://www.bluetooth.com/specifications/gatt/generic-attributes-overview BLE GATT] là où un par capteur serait nécessaire. Début des modifications en ce sens.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Beaucoup de travail est reste à effectuer afin de permettre la gestion de plusieurs serveurs en simultanée quand l'application de base ne le gère pas du tout. Une meilleure conception aurait réduit l'impact de ce problème<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 09/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
<br />
*Etude de l'appli MotionGestureDemo https://github.com/ryanchyshyn/motion_gestures_detection/tree/master/MotionGesturesDemo<br />
*L’intérêt de cette appli est qu'elle exécute un modèle Tensorflow. Le code nécessaire a cela est externalisé dans une librairie que nous pourrions éventuellement réutiliser<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Hackathlon<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Travail de transition pour une gestion multi-serveurs. Modification des structures de données et des Callbacks.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Abandon du code trouvé précédemment car le modèle ne nous correspond pas. Reprise d’un code utilisant un modèle LSTM en Tensorflow, qui reconnait l’activité d’une personne (assis, debout, en train de marcher, montant des marches…)<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 3==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 3</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 12/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
<br />
*Recherche de modèle avec Vincent. Expérimentation avec un modèle LSTM : https://medium.com/@curiousily/human-activity-recognition-using-lstms-on-android-tensorflow-for-hackers-part-vi-492da5adef64<br />
*Prise en main de ce code <br />
<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Etudes du protocole BLE pour l'intégration à l'application android<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Modification de la [https://developer.android.com/reference/android/app/ListActivity.html ListActivity] pour avoir une sélection [https://www.101apps.co.za/articles/making-a-list-coding-multiple-choice-list-dialogs.html Multi Choice]<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Déchiffrage de codes utilisant un modèle LSTM : cela semble être un bon modèle pour notre cas, à voir les résultats pour des moves assez court.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Cela crée un océan de problèmes de logique en raison de la modification a la volée de la liste lors d'une découverte et du clic sur le bouton menu "Scan/Stop". Après beaucoup de travail sur le Sample je me permet de dire que son design est plus que discutable<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 13/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Fork du modèle LSTM : https://github.com/SmartMove-PolytechGrenoble/TensorFlow-on-Android-for-Human-Activity-Recognition-with-LSTMs <br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Poursuite de l'étude BLE.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Suite de la veille<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Modifications du code pour correspondre à notre formattage de données + modification du prétraitement des données<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 14/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Conception de la gestion des entraînements. Entraînements au sens "suite d'activités" que l'utilisateur peut faire et vouloir détecter<br />
*Soutenance mi parcours<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
*Prévision de l'abandon de l'utilisation d'arduinos pour l'utilisation de sensorTags.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Préparation de la soutenance<br />
*Soutenance mi parcours<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
* Résolution problèmes inconnus Tensorflow<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" | <br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 15/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours gestion<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours gestion<br />
*Découverte sensorTag<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Absence jusqu'aux vacances pour cause de déménagement<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours gestion<br />
* Test d'entraîner le modèle avec des jeux de données : impossible à faire tourner hardware trop faible.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 16/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Essai tensor flow sur mon CPU <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Faire tourner Tensorflow sur GPU : fonctionne mieux.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 4 (Vacances) ==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 4</span><br />
|-<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">/!\Vacances/!\</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Semaine du 19 au 25 février</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Clément --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Quelques tests sur SensorTag<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 5==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 5</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 26/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours de gestion<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de gestion<br />
*Analyse de l'application Android sensorTag officiel (openSource)<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de gestion<br />
*Changement de trajectoire du projet, nous utiliserons désormais des [http://www.ti.com/ww/en/wireless_connectivity/sensortag/ SensorTAG]. Début d'analyse des ressources disponibles afin de voir s'il n'est pas possible d'utiliser un code facile à intégrer<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de gestion<br />
* Début modification du code Android d'évalutation : comptabilisation, du nombre de mouvement, chronométrage.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Solution propriétaire à TI analysée : [http://www.ti.com/tool/ble-stack?DCMP=wbu-blestack&HQS=blestack BLE Stack]<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 27/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (création d'entrainement et sauvegarde)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*La solution fonctionne parfaitement mais ne gère pas le Multi Server GATT. Code trop complexe pour modifications et intégration. Abandon de la solution<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Début modification code enregistrement data. Objectif : labéliser, choisir librement les limites.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 28/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (création d'entrainement et sauvegarde)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Recherche de stage<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Recherche de solution alternative pour la connexion au [http://www.ti.com/ww/en/wireless_connectivity/sensortag/ SensorTAG] avec gestion de multi serveur GATT<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Ajout du support du gyroscope<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Beaucoup de ressources disponibles sur le net fonctionnement en fait avec un Gateway Hardware propriétaire, elles sont donc toutes inutilisables dans notre cas<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 01/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (Visualisation)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Découverte du service [https://github.com/devicehive/android-ble Android BLE] de [https://devicehive.com/ DeviceHive] qui se sert d'un téléphone Android comme Gateway entre plusieurs périphériques BLE et un serveur, répondant à toutes nos contraintes. Exploration et mise en place de cette solution<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Entraînement avec nos propres données : il faut beaucoup de données, avec peu de données la précision est vraiment mauvaise.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Solution un peu complexe d'utilisation et qui ne pourra pas être inclue dans une version en production. Cependant très pratique pour acquérir des jeux de données lors du développement<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 02/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (Visualisation)<br />
* Réunion 2<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Réunion 2<br />
|<!-- Clément --> style="width: 280px;" |<br />
* Solution de [https://devicehive.com/ DeviceHive] fonctionnelle, et découverte d'une nouvelle problématique : La fréquence de notifications des données est de 300 ms, bien trop lent. Pourtant, les [http://www.ti.com/lit/sl/szzy004a/szzy004a.pdf spécifications] de la carte indiquent une fréquence minimale de 100 ms (il est d'ailleurs [https://e2e.ti.com/support/wireless_connectivity/bluetooth_low_energy/f/538/t/385413 apparemment] de flasher l'appareil pour augmenter la fréquence)<br />
* Réunion 2<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Réunion 2<br />
* Récolte de plus de données.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Le problème de fréquence est donc soit lié à DeviceHive soit au téléphone Android. Dans l'immédiat, abandon de la solution DeviceHive pour avoir une version fonctionnelle aussi vite que possible<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 6 ==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 6</span><br />
|-<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 05/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*MaJ Air<br />
|<!-- Timothée --> style="width: 280px;" |<br />
Analyse code BLE Android (celui de Clément)<br />
|<!-- Clément --> style="width: 280px;" |<br />
*L'[https://github.com/SmartMove-PolytechGrenoble/motion_gestures_detection/tree/dev_mesh application] développée par Vincent est suffisamment aboutie pour accepter une intégration des services Bluetooth. Début de cette intégration<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Modif learning pour utiliser les nouvelles infos capteurs : gyroscope + accél, Modifications formattage des données (Python)<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Cela demandera tout de même beaucoup de travail étant donné les problèmes de clone et d'intégration inhérents à Android.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 06/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Réunion avec Clément.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Réunion avec Timothée afin de se mettre d'accord pour permettre une parallélisation du travail.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Le vecteur angulaire n'est pas l'information qu'il nous faut mais plutôt la gravité : changement du code, et reprise de la récupération des données.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Je travaillerai sur la partie connexion Bluetooth et lui sur la partie GATT (découverte des services et caractéristiques, inscription et lecture des notifications)<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 07/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Recherche sur les caractéristiques bluetooth du sensorTag et leur utilisations<br />
|<!-- Clément --> style="width: 280px;" |<br />
Intégration de la connexion a l'appli de récupération des données<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* En fait différentes variable pour l'apprentissage n'avaient pas été touchées, il est possible d'avoir de bons résultats avec peu de données.<br />
* Reprise des tests : très bonne précision avec seulement 40 secondes d'entraînement : les mouvements marcher et sauter sont distingués avec une très bonne précision en ligne droite.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 08/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Excusé (TOEIC)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Papier et téléphone pour le stage.<br />
|<!-- Clément --> style="width: 280px;" |<br />
Suite. Connexion réussie.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Rectification après tests : il faut bien l'accélération angulaire, je n'ai pas le capteur sur mon téléphone, je reste sur des infos accéléromètre et c'est précis.<br />
* Multiples essais en faisant varier les variables pour l'apprentissage tensorflow.<br />
* Essais et modification du code pour pouvoir faire descendre le nombre de valeur en input assez bas : reconnaître les mouvements de toute durée.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 09/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Développement d'une API pour le contrôle du sensorTag une fois connecté.<br />
|<!-- Clément --> style="width: 280px;" |<br />
Suite. Clean du code et de la connexion.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Tests avec gyroscope (j'ai utilisé le téléphone de Timothée car j'ai pas de gyroscope). Les résultats sont moins bons qu'avec seulement l'accéléromètre. Il faut plus de training. Je cherche comment donner moins d'importance au gyroscope.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 7 (à venir)==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 7</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 12/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Suite développement de l'API pour le sensorTag, avancées grâce à une doc pertinente.<br />
* Obtention de valeur de l'accéléromètre et du gyroscope du sensorTag.<br />
|<!-- Clément --> style="width: 280px;" |<br />
Rien<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Test d'un très grand nombre de settings : retenu analyse d'une fenêtre de 2 secondes, glissante de 500ms en 500ms.<br />
* Code Python (learning) et code Android (utilisant le modèle) rendus totalement scalable avec quelques tableaux en dur à remplir selon nos besoins (capteurs en entrée, moves en sortie, moves à compter...) --> l'entraînement / l'UI est généré en conséquence .<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
* Il faut que je modifie le code pour éviter certains doublons, et éviter des événements incompatibles à la suite. Un autre point : ajouter un deuxième seuil de validation (autre que la probabilité) : assurer une proba > 0.98 pendant deux avancées de la fenêtre par exemple, je pense que cela va donner des résultats robustes. Un gros problème de notre projet est qu'on est en Open set : nos classes ne représentent pas tous les mouvements possibles (c'est un domaine de recherche très répandu actuellement). On a alors du bruit. On va essayer d'utiliser la méthode simple : enregistrer du bruit, et des moves qui n'ont aucun sens.<br />
|-<br />
<br />
|-<br />
<br />
| rowspan="2" | <span style="color:green">Mardi 13/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Cours de gestion de projet<br />
* support de Clément pour l'implémentation l'API sur la base de l'appli.<br />
|<!-- Clément --> style="width: 280px;" |<br />
* Cours de gestion de projet<br />
* Mise en relation de la connexion avec a partie de Timothée, résolution de problèmes<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
* Problème de fréquence d’échantillonnage, la caractéristique BLE prévu a cette effet ne semble pas avoir d'effet.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 14/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
* Tentative de mise de mise du SensorTag sur autre application (???) de gestion des entrainements<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
* Échec<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 15/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
* Matin : Soutenance<br />
* Apres-Midi : Partir le plus loin possible et ne jamais revenir<br />
|<!-- Vincent --> style="width: 280px;" |<br />
<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
<br />
<br />
<br />
|-<br />
<br />
|}</div>
Clement.Rouquier
https://air.imag.fr/index.php?title=RICM5_2017-2018_-_SmartMove&diff=40868
RICM5 2017-2018 - SmartMove
2018-03-14T14:40:39Z
<p>Clement.Rouquier: /* Sprint 7 (à venir) */</p>
<hr />
<div>=Smart Move=<br />
<br />
Smartmove est un ambitieux projet imaginé par quatre étudiants de [https://www.polytech-grenoble.fr/ Polytech Grenoble]. Smartmove est une approche nouvelle du sport avec l'IoT et l'apprentissage machine.<br />
<br />
[[File:Smart-move_logo.png|300px]]<br />
<br />
=Équipe du projet=<br />
{| class="wikitable"<br />
|-<br />
! scope="col" width="200px" | Membre<br />
! scope="col" | Rôles<br />
|-<br />
|Anthony Geourjon<br />
|Chef de projet<br />
|-<br />
|Timothée Lemaire<br />
|Responsable hardware (black belt thinkpad)<br />
|-<br />
|Clément Rouquier<br />
|Responsable Dofus<br />
|-<br />
|Vincent Turrin<br />
|Batteur<br />
|}<br />
<br />
* Supervisé par : Bernard Tourancheau, Didier Donsez<br />
<br />
=Abstract=<br />
In 2017, two highly innovative domains emerge : the Internet of Things and the Artificial Intelligence and especially the machine learning. These technological advances open new possibilities to imagine new ways to help people. In this project, we present our proposal for the [https://iot.eclipse.org/open-iot-challenge/ Open IoT challenge 4.0] organized by the [https://iot.eclipse.org Eclipse Foundation]. This project is also part of the course of Wireless Sensor Networks given by [http://drakkar.imag.fr/spip.php?auteur70&lang=en Prof. Bernard Tourancheau] at [https://www.polytech-grenoble.fr/ Polytech Grenoble] (Engineering school)<br />
<br />
===Mots clés===<br />
* IoT<br />
* Machine learning,<br />
* Sports<br />
<br />
=Présentation= <br />
<br />
Présentation du projet dans le cadre de l'Eclipse IoT challenge : [https://air.imag.fr/index.php/SmartMove Smartmove]<br />
<br />
=SCRUM=<br />
<br />
Une liste plus actualisé des tâches est disponible sur Trello : https://trello.com/b/RVfoU3gl/smart-move-first-tasks<br />
==Sprint 1 - Du 29/01/18 au 04/02/18 ==<br />
<br />
* Définition des rôles<br />
* Mise en place du projet pour tous les membres du groupe(Trello, Github)<br />
* Création de la page AIR pour la tenue de journal<br />
* Prise de contact avec les enseignants concernés<br />
* Début de la phase de conception <br />
<br />
* Séance de management de projets innovants<br />
** Rédaction d'une [https://docs.google.com/document/d/1nxa09q82hH2rLvTtIoq7b92gYE82TqpXkbv_IgrantQ/edit?usp=sharing fiche synthetique] de présentation du projet<br />
<br />
==Sprint 2 - Du 05/02/18 au 11/02/18 ==<br />
<br />
*Définition des taches et des deadline sur Trello<br />
*Première expérimentation avec différents modèles de machine learning. Nous faisons face à de très nombreuses contraintes comparé aux modèles que nous trouvons sur le net comme :<br />
** Nos données sont un flux continu et non un simple échantillon borné à analyser<br />
** Nous recevons des données de plusieurs capteurs, la synchronisation doit être quasi parfaite pour que les données est un sens.<br />
**Nous avons découvert des applications d'enregistrement de mouvement fonctionnant sur Android. https://blog.lemberg.co.uk/motion-gesture-detection-using-tensorflow-android<br />
* Choix des technologies pour la communication entre le téléphone et les Arduinos -> BLE<br />
* Cours de gestion de projet<br />
<br />
==Sprint 3 - Du 12/02/18 au 18/02/18 ==<br />
* Soutenance de mi parcours le mercredi 14/02 de 10h30-11h avec Didier Donsez et Bernard Tourancheau <br />
** Ils sont satisfait de la direction que prend le projet<br />
** Didier nous propose de remplacer les Arduino par des SensorTag qui seraient plus adaptés à nos besoins.<br />
*Expérimentations avec un modèle de machine learning prometteur (LSTP Long short term memory) https://github.com/SmartMove-PolytechGrenoble/TensorFlow-on-Android-for-Human-Activity-Recognition-with-LSTMs<br />
*Expérimentations d'entrainement de modèle sur nos machines -> problème de config sur GPU <br />
*Cours de gestion de projet<br />
<br />
==Sprint 4 - Du 19/02/18 au 25/02/18 ==<br />
Vacances<br />
<br />
==Sprint 5 - Du 26/02/18 au 04/03/18 ==<br />
<br />
*Premières expérimentations avec le SensorTag malgré les problèmes de piles.<br />
*Travail sur la gestion des entraînements (au sens, action que veut reconnaître l'utilisateur)<br />
*Cours de gestion des risques en projets<br />
*Réunion 1 de suivi avec Didier<br />
**Il est satisfait de nos avancées (communication téléphone/SensorTag, avancement dans le machine learning, etc)<br />
<br />
==Sprint 6 - Du 05/03/18 au 11/03/18 (en cours) ==<br />
*Réunion 2 de suivi avec Didier<br />
*Notre modèle est inspiré de : https://drive.google.com/file/d/1u0eh7JCj6yRZqln7Md-eDHJgHbaDcWRC/view?usp=sharing. Nous sommes partis de ce travail et avons modifié le code pour correspondre à nos problématiques / données.<br />
<br />
==Sprint 7 - Du 12/03/18 au 18/03/18 (prévisions) ==<br />
* Soutenance le jeudi 15/03 de 9h-10h<br />
* Préparation de la soutenance <br />
* Fusion de tous nos applications de développement en un démonstrateur pour la soutenance<br />
<br />
=Journal=<br />
<br />
==Sprint1==<br />
<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
<br />
|-<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 1</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 29/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Récupération du matériel au fablab (Arduino 101)<br />
*Tentative d'un flash d'un exemple sur la carte<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Lecture et compréhension des divers documents produits durant le S9 par les 3 autres membres du projet, un gros travail de conception ayant déjà été effectué en amont de mon arrivée<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
*Impossible de faire marcher quelque chose sur la carte pourtant elle est détecté<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Confrontation de l'idée que m'ont donné les documents de conception avec la vision des autres membres afin d'assurer une divergence de trajectoire aussi faible que possible<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 30/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Tentative d'un flash d'un exemple sur la carte<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*La technologie de communication entre les cartes et le téléphone s'effectuera sur la base du [https://developer.android.com/guide/topics/connectivity/bluetooth-le.html Bluetooth BLE]. Ayant déjà travaillé sur cette technologie sur le projet [http://air.imag.fr/index.php/UltraTeam UltraTeam], je ferai cette partie.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
*Le bootloader de la carte est broken et ne fonctionne depuis Linux, Avec Windows Timothée y arrive facilement<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Le BLE est une technologie qui m'avait donné beaucoup de tord durant le précédent projet et il m'intéresse de m'y remettre dessus. le nombre de ressources disponibles est assez peu limité et les ressources existantes ont généralement été conçues pour du HardWare spécial<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 31/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Analyse du code d'[https://github.com/ultratrail/mobapp2 UltraTeam] pour voir ce qui est récupérable du travail déjà effectué dans le cadre du projet antérieur<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Etude problématique projet<br />
*Formation tensorflow : tuto simple, structure du code et concepts de base<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Je ne récupérerai que peu de code du précédent projet en raison du nombre important de bricolage. J'ai décidé de me rebaser quasi-exclusivement sur le [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT]<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple"|<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 02/02/18</span><br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Tentative de flash sur l’Arduino récupéré par Anthony au fablab, finalement réussi sur Windows.<br />
*Essai de l'exemple "HearthRate Monitor" avec connexion Bluetooth.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Création d'un [https://github.com/SmartMove-PolytechGrenoble/SmartMove dépot Github] se basant sur un Fork du Google Sample et qui aura ensuite pour but d'être intégré dans l'application finale créée par les autres. <br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Continuation de la formation TF Visionnage vidéos, notamment conférence sur deep learning adapté à Tensorflow<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Travail avec Clément pour faire fonctionner l'exemple en BLE sur son début d'appli. finalement fonctionnel en demandant l'utilisation du GPS sur android (Comme le requière la spécification BLE)<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Le GoogleSample se base sur un design [https://developer.android.com/reference/android/support/v7/app/AppCompatActivity.html AppCompat], ce qui n'est pas pratique pour l'intégration. Je me souviens avoir eu le même problème sur [http://air.imag.fr/index.php/UltraTeam UltraTeam]. Je le gèrerai cependant de façon opposée -> Au lieu de passer toute mon application sur le même design, je vais transformer le code pour l'utiliser sans ce Framework.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple"|<br />
<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 2==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 2</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 05/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur le AIR<br />
*Export des taches backlog sur Trello<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Début du code Arduino en partant de l'exemple "HeartRate Monitor"<br />
|<!-- Clément --> style="width: 280px;" |<br />
*L'APK fournie par un clone du [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT] ne trouve pas toujours les périphériques BLE environnants. Début des investigations<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Pas mal de difficultés lors du test, en raison de difficultés de debugging sur l'Arduino.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*L'application fonctionne sans soucis sur les plus anciennes versions d'Android mais semble avoir des soucis à partir d'une certaine version du SDK toujours indéterminée.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
*Étude des problématiques propres à notre projet : Stream de data, Dynamic Time<br />
|-<br />
<br />
<br />
|-<br />
<br />
| rowspan="2" | <span style="color:green">Mardi 06/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Étude avec Vincent d'une application utilisant de la détection de mouvement Tensor Flow sur Android. https://blog.lemberg.co.uk/motion-gesture-detection-using-tensorflow-android<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Avancement du code Arduino.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Résolution du bug. Il faut depuis le SDK 23 une autorisation de localisation pour faire fonctionner le Bluetooth. [https://stackoverflow.com/questions/32708374/bluetooth-le-scanfilters-dont-work-on-android-m Problème et solution détaillée]<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Etude d’un code de reconnaissance de mouvement tensorflow Android, + test, comprendre pour pouvoir modifier en conséquence<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Résolution des problèmes rencontrés la veille (Mauvais initialisation du module gérant les capteurs), puis travail sur l'envoie des données par blutooth.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*le problème a également fait l'objet de plusieurs [https://github.com/googlesamples/android-BluetoothLeGatt/pulls Pull Requests] sur le dépo. Certaines ont été validées mais aucune mergées.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 07/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Cours de management de projets innovants - 4h<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Finalisation du code arduino pour le moment.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Début du travail d'intégration du [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT] en tant qu'activité secondaire<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Étude approfondie des modèles : il faut sûrement utiliser un LSTM <br />
<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Recherches sur les UUID (pour l'arduino).<br />
*Envoie des valeurs depuis l'arduino sous forme binaire (nécessite de séparer les octets des ints)<br />
*Mise sur Git du code arduino.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*La forme choisie est celle d'un [https://stackoverflow.com/questions/1979369/android-activity-as-a-dialog Dialog Activity] pour avoir une interaction ergonomique et user friendly<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 08/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Diverses expérimentations avec le MotionGesture. Installation de Gesture Manager sur mon téléphone et record de quelques mouvemnts sur un seul capteur (ceux du téléphone). <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Application fonctionnelle de façon satisfaisante. Cependant, elle ne gère qu'un serveur [https://www.bluetooth.com/specifications/gatt/generic-attributes-overview BLE GATT] là où un par capteur serait nécessaire. Début des modifications en ce sens.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Beaucoup de travail est reste à effectuer afin de permettre la gestion de plusieurs serveurs en simultanée quand l'application de base ne le gère pas du tout. Une meilleure conception aurait réduit l'impact de ce problème<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 09/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
<br />
*Etude de l'appli MotionGestureDemo https://github.com/ryanchyshyn/motion_gestures_detection/tree/master/MotionGesturesDemo<br />
*L’intérêt de cette appli est qu'elle exécute un modèle Tensorflow. Le code nécessaire a cela est externalisé dans une librairie que nous pourrions éventuellement réutiliser<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Hackathlon<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Travail de transition pour une gestion multi-serveurs. Modification des structures de données et des Callbacks.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Abandon du code trouvé précédemment car le modèle ne nous correspond pas. Reprise d’un code utilisant un modèle LSTM en Tensorflow, qui reconnait l’activité d’une personne (assis, debout, en train de marcher, montant des marches…)<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 3==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 3</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 12/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
<br />
*Recherche de modèle avec Vincent. Expérimentation avec un modèle LSTM : https://medium.com/@curiousily/human-activity-recognition-using-lstms-on-android-tensorflow-for-hackers-part-vi-492da5adef64<br />
*Prise en main de ce code <br />
<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Etudes du protocole BLE pour l'intégration à l'application android<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Modification de la [https://developer.android.com/reference/android/app/ListActivity.html ListActivity] pour avoir une sélection [https://www.101apps.co.za/articles/making-a-list-coding-multiple-choice-list-dialogs.html Multi Choice]<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Déchiffrage de codes utilisant un modèle LSTM : cela semble être un bon modèle pour notre cas, à voir les résultats pour des moves assez court.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Cela crée un océan de problèmes de logique en raison de la modification a la volée de la liste lors d'une découverte et du clic sur le bouton menu "Scan/Stop". Après beaucoup de travail sur le Sample je me permet de dire que son design est plus que discutable<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 13/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Fork du modèle LSTM : https://github.com/SmartMove-PolytechGrenoble/TensorFlow-on-Android-for-Human-Activity-Recognition-with-LSTMs <br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Poursuite de l'étude BLE.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Suite de la veille<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Modifications du code pour correspondre à notre formattage de données + modification du prétraitement des données<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 14/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Conception de la gestion des entraînements. Entraînements au sens "suite d'activités" que l'utilisateur peut faire et vouloir détecter<br />
*Soutenance mi parcours<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
*Prévision de l'abandon de l'utilisation d'arduinos pour l'utilisation de sensorTags.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Préparation de la soutenance<br />
*Soutenance mi parcours<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
* Résolution problèmes inconnus Tensorflow<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" | <br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 15/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours gestion<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours gestion<br />
*Découverte sensorTag<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Absence jusqu'aux vacances pour cause de déménagement<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours gestion<br />
* Test d'entraîner le modèle avec des jeux de données : impossible à faire tourner hardware trop faible.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 16/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Essai tensor flow sur mon CPU <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Faire tourner Tensorflow sur GPU : fonctionne mieux.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 4 (Vacances) ==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 4</span><br />
|-<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">/!\Vacances/!\</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Semaine du 19 au 25 février</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Clément --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Quelques tests sur SensorTag<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 5==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 5</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 26/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours de gestion<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de gestion<br />
*Analyse de l'application Android sensorTag officiel (openSource)<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de gestion<br />
*Changement de trajectoire du projet, nous utiliserons désormais des [http://www.ti.com/ww/en/wireless_connectivity/sensortag/ SensorTAG]. Début d'analyse des ressources disponibles afin de voir s'il n'est pas possible d'utiliser un code facile à intégrer<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de gestion<br />
* Début modification du code Android d'évalutation : comptabilisation, du nombre de mouvement, chronométrage.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Solution propriétaire à TI analysée : [http://www.ti.com/tool/ble-stack?DCMP=wbu-blestack&HQS=blestack BLE Stack]<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 27/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (création d'entrainement et sauvegarde)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*La solution fonctionne parfaitement mais ne gère pas le Multi Server GATT. Code trop complexe pour modifications et intégration. Abandon de la solution<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Début modification code enregistrement data. Objectif : labéliser, choisir librement les limites.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 28/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (création d'entrainement et sauvegarde)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Recherche de stage<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Recherche de solution alternative pour la connexion au [http://www.ti.com/ww/en/wireless_connectivity/sensortag/ SensorTAG] avec gestion de multi serveur GATT<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Ajout du support du gyroscope<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Beaucoup de ressources disponibles sur le net fonctionnement en fait avec un Gateway Hardware propriétaire, elles sont donc toutes inutilisables dans notre cas<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 01/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (Visualisation)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Découverte du service [https://github.com/devicehive/android-ble Android BLE] de [https://devicehive.com/ DeviceHive] qui se sert d'un téléphone Android comme Gateway entre plusieurs périphériques BLE et un serveur, répondant à toutes nos contraintes. Exploration et mise en place de cette solution<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Entraînement avec nos propres données : il faut beaucoup de données, avec peu de données la précision est vraiment mauvaise.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Solution un peu complexe d'utilisation et qui ne pourra pas être inclue dans une version en production. Cependant très pratique pour acquérir des jeux de données lors du développement<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 02/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (Visualisation)<br />
* Réunion 2<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Réunion 2<br />
|<!-- Clément --> style="width: 280px;" |<br />
* Solution de [https://devicehive.com/ DeviceHive] fonctionnelle, et découverte d'une nouvelle problématique : La fréquence de notifications des données est de 300 ms, bien trop lent. Pourtant, les [http://www.ti.com/lit/sl/szzy004a/szzy004a.pdf spécifications] de la carte indiquent une fréquence minimale de 100 ms (il est d'ailleurs [https://e2e.ti.com/support/wireless_connectivity/bluetooth_low_energy/f/538/t/385413 apparemment] de flasher l'appareil pour augmenter la fréquence)<br />
* Réunion 2<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Réunion 2<br />
* Récolte de plus de données.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Le problème de fréquence est donc soit lié à DeviceHive soit au téléphone Android. Dans l'immédiat, abandon de la solution DeviceHive pour avoir une version fonctionnelle aussi vite que possible<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 6 ==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 6</span><br />
|-<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 05/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*MaJ Air<br />
|<!-- Timothée --> style="width: 280px;" |<br />
Analyse code BLE Android (celui de Clément)<br />
|<!-- Clément --> style="width: 280px;" |<br />
*L'[https://github.com/SmartMove-PolytechGrenoble/motion_gestures_detection/tree/dev_mesh application] développée par Vincent est suffisamment aboutie pour accepter une intégration des services Bluetooth. Début de cette intégration<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Modif learning pour utiliser les nouvelles infos capteurs : gyroscope + accél, Modifications formattage des données (Python)<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Cela demandera tout de même beaucoup de travail étant donné les problèmes de clone et d'intégration inhérents à Android.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 06/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Réunion avec Clément.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Réunion avec Timothée afin de se mettre d'accord pour permettre une parallélisation du travail.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Le vecteur angulaire n'est pas l'information qu'il nous faut mais plutôt la gravité : changement du code, et reprise de la récupération des données.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Je travaillerai sur la partie connexion Bluetooth et lui sur la partie GATT (découverte des services et caractéristiques, inscription et lecture des notifications)<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 07/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Recherche sur les caractéristiques bluetooth du sensorTag et leur utilisations<br />
|<!-- Clément --> style="width: 280px;" |<br />
Intégration de la connexion a l'appli de récupération des données<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* En fait différentes variable pour l'apprentissage n'avaient pas été touchées, il est possible d'avoir de bons résultats avec peu de données.<br />
* Reprise des tests : très bonne précision avec seulement 40 secondes d'entraînement : les mouvements marcher et sauter sont distingués avec une très bonne précision en ligne droite.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 08/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Excusé (TOEIC)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Papier et téléphone pour le stage.<br />
|<!-- Clément --> style="width: 280px;" |<br />
Suite. Connexion réussie.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Rectification après tests : il faut bien l'accélération angulaire, je n'ai pas le capteur sur mon téléphone, je reste sur des infos accéléromètre et c'est précis.<br />
* Multiples essais en faisant varier les variables pour l'apprentissage tensorflow.<br />
* Essais et modification du code pour pouvoir faire descendre le nombre de valeur en input assez bas : reconnaître les mouvements de toute durée.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 09/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Développement d'une API pour le contrôle du sensorTag une fois connecté.<br />
|<!-- Clément --> style="width: 280px;" |<br />
Suite. Clean du code et de la connexion.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Tests avec gyroscope (j'ai utilisé le téléphone de Timothée car j'ai pas de gyroscope). Les résultats sont moins bons qu'avec seulement l'accéléromètre. Il faut plus de training. Je cherche comment donner moins d'importance au gyroscope.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 7 (à venir)==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 7</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 12/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Suite développement de l'API pour le sensorTag, avancées grâce à une doc pertinente.<br />
* Obtention de valeur de l'accéléromètre et du gyroscope du sensorTag.<br />
|<!-- Clément --> style="width: 280px;" |<br />
Rien<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Test d'un très grand nombre de settings : retenu analyse d'une fenêtre de 2 secondes, glissante de 500ms en 500ms.<br />
* Code Python (learning) et code Android (utilisant le modèle) rendus totalement scalable avec quelques tableaux en dur à remplir selon nos besoins (capteurs en entrée, moves en sortie, moves à compter...) --> l'entraînement / l'UI est généré en conséquence .<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
* Il faut que je modifie le code pour éviter certains doublons, et éviter des événements incompatibles à la suite. Un autre point : ajouter un deuxième seuil de validation (autre que la probabilité) : assurer une proba > 0.98 pendant deux avancées de la fenêtre par exemple, je pense que cela va donner des résultats robustes. Un gros problème de notre projet est qu'on est en Open set : nos classes ne représentent pas tous les mouvements possibles (c'est un domaine de recherche très répandu actuellement). On a alors du bruit. On va essayer d'utiliser la méthode simple : enregistrer du bruit, et des moves qui n'ont aucun sens.<br />
|-<br />
<br />
|-<br />
<br />
| rowspan="2" | <span style="color:green">Mardi 13/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Cours de gestion de projet<br />
* support de Clément pour l'implémentation l'API sur la base de l'appli.<br />
|<!-- Clément --> style="width: 280px;" |<br />
* Cours de gestion de projet<br />
Mise en relation de la connexion avec a partie de Timothée, résolution de problèmes<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
* Problème de fréquence d’échantillonnage, la caractéristique BLE prévu a cette effet ne semble pas avoir d'effet.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 14/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
Tentative de mise de mise du SensorTag sur autre application (???) de gestion des entrainements<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
Échec<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 15/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
Matin : Soutenance<br />
Apres-Midi : Partir le plus loin possible et ne jamais revenir<br />
|<!-- Vincent --> style="width: 280px;" |<br />
<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
<br />
<br />
<br />
|-<br />
<br />
|}</div>
Clement.Rouquier
https://air.imag.fr/index.php?title=RICM5_2017-2018_-_SmartMove&diff=40867
RICM5 2017-2018 - SmartMove
2018-03-14T14:39:59Z
<p>Clement.Rouquier: /* Sprint 7 (à venir) */</p>
<hr />
<div>=Smart Move=<br />
<br />
Smartmove est un ambitieux projet imaginé par quatre étudiants de [https://www.polytech-grenoble.fr/ Polytech Grenoble]. Smartmove est une approche nouvelle du sport avec l'IoT et l'apprentissage machine.<br />
<br />
[[File:Smart-move_logo.png|300px]]<br />
<br />
=Équipe du projet=<br />
{| class="wikitable"<br />
|-<br />
! scope="col" width="200px" | Membre<br />
! scope="col" | Rôles<br />
|-<br />
|Anthony Geourjon<br />
|Chef de projet<br />
|-<br />
|Timothée Lemaire<br />
|Responsable hardware (black belt thinkpad)<br />
|-<br />
|Clément Rouquier<br />
|Responsable Dofus<br />
|-<br />
|Vincent Turrin<br />
|Batteur<br />
|}<br />
<br />
* Supervisé par : Bernard Tourancheau, Didier Donsez<br />
<br />
=Abstract=<br />
In 2017, two highly innovative domains emerge : the Internet of Things and the Artificial Intelligence and especially the machine learning. These technological advances open new possibilities to imagine new ways to help people. In this project, we present our proposal for the [https://iot.eclipse.org/open-iot-challenge/ Open IoT challenge 4.0] organized by the [https://iot.eclipse.org Eclipse Foundation]. This project is also part of the course of Wireless Sensor Networks given by [http://drakkar.imag.fr/spip.php?auteur70&lang=en Prof. Bernard Tourancheau] at [https://www.polytech-grenoble.fr/ Polytech Grenoble] (Engineering school)<br />
<br />
===Mots clés===<br />
* IoT<br />
* Machine learning,<br />
* Sports<br />
<br />
=Présentation= <br />
<br />
Présentation du projet dans le cadre de l'Eclipse IoT challenge : [https://air.imag.fr/index.php/SmartMove Smartmove]<br />
<br />
=SCRUM=<br />
<br />
Une liste plus actualisé des tâches est disponible sur Trello : https://trello.com/b/RVfoU3gl/smart-move-first-tasks<br />
==Sprint 1 - Du 29/01/18 au 04/02/18 ==<br />
<br />
* Définition des rôles<br />
* Mise en place du projet pour tous les membres du groupe(Trello, Github)<br />
* Création de la page AIR pour la tenue de journal<br />
* Prise de contact avec les enseignants concernés<br />
* Début de la phase de conception <br />
<br />
* Séance de management de projets innovants<br />
** Rédaction d'une [https://docs.google.com/document/d/1nxa09q82hH2rLvTtIoq7b92gYE82TqpXkbv_IgrantQ/edit?usp=sharing fiche synthetique] de présentation du projet<br />
<br />
==Sprint 2 - Du 05/02/18 au 11/02/18 ==<br />
<br />
*Définition des taches et des deadline sur Trello<br />
*Première expérimentation avec différents modèles de machine learning. Nous faisons face à de très nombreuses contraintes comparé aux modèles que nous trouvons sur le net comme :<br />
** Nos données sont un flux continu et non un simple échantillon borné à analyser<br />
** Nous recevons des données de plusieurs capteurs, la synchronisation doit être quasi parfaite pour que les données est un sens.<br />
**Nous avons découvert des applications d'enregistrement de mouvement fonctionnant sur Android. https://blog.lemberg.co.uk/motion-gesture-detection-using-tensorflow-android<br />
* Choix des technologies pour la communication entre le téléphone et les Arduinos -> BLE<br />
* Cours de gestion de projet<br />
<br />
==Sprint 3 - Du 12/02/18 au 18/02/18 ==<br />
* Soutenance de mi parcours le mercredi 14/02 de 10h30-11h avec Didier Donsez et Bernard Tourancheau <br />
** Ils sont satisfait de la direction que prend le projet<br />
** Didier nous propose de remplacer les Arduino par des SensorTag qui seraient plus adaptés à nos besoins.<br />
*Expérimentations avec un modèle de machine learning prometteur (LSTP Long short term memory) https://github.com/SmartMove-PolytechGrenoble/TensorFlow-on-Android-for-Human-Activity-Recognition-with-LSTMs<br />
*Expérimentations d'entrainement de modèle sur nos machines -> problème de config sur GPU <br />
*Cours de gestion de projet<br />
<br />
==Sprint 4 - Du 19/02/18 au 25/02/18 ==<br />
Vacances<br />
<br />
==Sprint 5 - Du 26/02/18 au 04/03/18 ==<br />
<br />
*Premières expérimentations avec le SensorTag malgré les problèmes de piles.<br />
*Travail sur la gestion des entraînements (au sens, action que veut reconnaître l'utilisateur)<br />
*Cours de gestion des risques en projets<br />
*Réunion 1 de suivi avec Didier<br />
**Il est satisfait de nos avancées (communication téléphone/SensorTag, avancement dans le machine learning, etc)<br />
<br />
==Sprint 6 - Du 05/03/18 au 11/03/18 (en cours) ==<br />
*Réunion 2 de suivi avec Didier<br />
*Notre modèle est inspiré de : https://drive.google.com/file/d/1u0eh7JCj6yRZqln7Md-eDHJgHbaDcWRC/view?usp=sharing. Nous sommes partis de ce travail et avons modifié le code pour correspondre à nos problématiques / données.<br />
<br />
==Sprint 7 - Du 12/03/18 au 18/03/18 (prévisions) ==<br />
* Soutenance le jeudi 15/03 de 9h-10h<br />
* Préparation de la soutenance <br />
* Fusion de tous nos applications de développement en un démonstrateur pour la soutenance<br />
<br />
=Journal=<br />
<br />
==Sprint1==<br />
<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
<br />
|-<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 1</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 29/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Récupération du matériel au fablab (Arduino 101)<br />
*Tentative d'un flash d'un exemple sur la carte<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Lecture et compréhension des divers documents produits durant le S9 par les 3 autres membres du projet, un gros travail de conception ayant déjà été effectué en amont de mon arrivée<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
*Impossible de faire marcher quelque chose sur la carte pourtant elle est détecté<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Confrontation de l'idée que m'ont donné les documents de conception avec la vision des autres membres afin d'assurer une divergence de trajectoire aussi faible que possible<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 30/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Tentative d'un flash d'un exemple sur la carte<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*La technologie de communication entre les cartes et le téléphone s'effectuera sur la base du [https://developer.android.com/guide/topics/connectivity/bluetooth-le.html Bluetooth BLE]. Ayant déjà travaillé sur cette technologie sur le projet [http://air.imag.fr/index.php/UltraTeam UltraTeam], je ferai cette partie.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
*Le bootloader de la carte est broken et ne fonctionne depuis Linux, Avec Windows Timothée y arrive facilement<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Le BLE est une technologie qui m'avait donné beaucoup de tord durant le précédent projet et il m'intéresse de m'y remettre dessus. le nombre de ressources disponibles est assez peu limité et les ressources existantes ont généralement été conçues pour du HardWare spécial<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 31/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Analyse du code d'[https://github.com/ultratrail/mobapp2 UltraTeam] pour voir ce qui est récupérable du travail déjà effectué dans le cadre du projet antérieur<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Etude problématique projet<br />
*Formation tensorflow : tuto simple, structure du code et concepts de base<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Je ne récupérerai que peu de code du précédent projet en raison du nombre important de bricolage. J'ai décidé de me rebaser quasi-exclusivement sur le [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT]<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple"|<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 02/02/18</span><br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Tentative de flash sur l’Arduino récupéré par Anthony au fablab, finalement réussi sur Windows.<br />
*Essai de l'exemple "HearthRate Monitor" avec connexion Bluetooth.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Création d'un [https://github.com/SmartMove-PolytechGrenoble/SmartMove dépot Github] se basant sur un Fork du Google Sample et qui aura ensuite pour but d'être intégré dans l'application finale créée par les autres. <br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Continuation de la formation TF Visionnage vidéos, notamment conférence sur deep learning adapté à Tensorflow<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Travail avec Clément pour faire fonctionner l'exemple en BLE sur son début d'appli. finalement fonctionnel en demandant l'utilisation du GPS sur android (Comme le requière la spécification BLE)<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Le GoogleSample se base sur un design [https://developer.android.com/reference/android/support/v7/app/AppCompatActivity.html AppCompat], ce qui n'est pas pratique pour l'intégration. Je me souviens avoir eu le même problème sur [http://air.imag.fr/index.php/UltraTeam UltraTeam]. Je le gèrerai cependant de façon opposée -> Au lieu de passer toute mon application sur le même design, je vais transformer le code pour l'utiliser sans ce Framework.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple"|<br />
<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 2==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 2</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 05/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur le AIR<br />
*Export des taches backlog sur Trello<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Début du code Arduino en partant de l'exemple "HeartRate Monitor"<br />
|<!-- Clément --> style="width: 280px;" |<br />
*L'APK fournie par un clone du [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT] ne trouve pas toujours les périphériques BLE environnants. Début des investigations<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Pas mal de difficultés lors du test, en raison de difficultés de debugging sur l'Arduino.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*L'application fonctionne sans soucis sur les plus anciennes versions d'Android mais semble avoir des soucis à partir d'une certaine version du SDK toujours indéterminée.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
*Étude des problématiques propres à notre projet : Stream de data, Dynamic Time<br />
|-<br />
<br />
<br />
|-<br />
<br />
| rowspan="2" | <span style="color:green">Mardi 06/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Étude avec Vincent d'une application utilisant de la détection de mouvement Tensor Flow sur Android. https://blog.lemberg.co.uk/motion-gesture-detection-using-tensorflow-android<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Avancement du code Arduino.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Résolution du bug. Il faut depuis le SDK 23 une autorisation de localisation pour faire fonctionner le Bluetooth. [https://stackoverflow.com/questions/32708374/bluetooth-le-scanfilters-dont-work-on-android-m Problème et solution détaillée]<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Etude d’un code de reconnaissance de mouvement tensorflow Android, + test, comprendre pour pouvoir modifier en conséquence<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Résolution des problèmes rencontrés la veille (Mauvais initialisation du module gérant les capteurs), puis travail sur l'envoie des données par blutooth.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*le problème a également fait l'objet de plusieurs [https://github.com/googlesamples/android-BluetoothLeGatt/pulls Pull Requests] sur le dépo. Certaines ont été validées mais aucune mergées.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 07/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Cours de management de projets innovants - 4h<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Finalisation du code arduino pour le moment.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Début du travail d'intégration du [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT] en tant qu'activité secondaire<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Étude approfondie des modèles : il faut sûrement utiliser un LSTM <br />
<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Recherches sur les UUID (pour l'arduino).<br />
*Envoie des valeurs depuis l'arduino sous forme binaire (nécessite de séparer les octets des ints)<br />
*Mise sur Git du code arduino.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*La forme choisie est celle d'un [https://stackoverflow.com/questions/1979369/android-activity-as-a-dialog Dialog Activity] pour avoir une interaction ergonomique et user friendly<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 08/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Diverses expérimentations avec le MotionGesture. Installation de Gesture Manager sur mon téléphone et record de quelques mouvemnts sur un seul capteur (ceux du téléphone). <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Application fonctionnelle de façon satisfaisante. Cependant, elle ne gère qu'un serveur [https://www.bluetooth.com/specifications/gatt/generic-attributes-overview BLE GATT] là où un par capteur serait nécessaire. Début des modifications en ce sens.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Beaucoup de travail est reste à effectuer afin de permettre la gestion de plusieurs serveurs en simultanée quand l'application de base ne le gère pas du tout. Une meilleure conception aurait réduit l'impact de ce problème<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 09/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
<br />
*Etude de l'appli MotionGestureDemo https://github.com/ryanchyshyn/motion_gestures_detection/tree/master/MotionGesturesDemo<br />
*L’intérêt de cette appli est qu'elle exécute un modèle Tensorflow. Le code nécessaire a cela est externalisé dans une librairie que nous pourrions éventuellement réutiliser<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Hackathlon<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Travail de transition pour une gestion multi-serveurs. Modification des structures de données et des Callbacks.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Abandon du code trouvé précédemment car le modèle ne nous correspond pas. Reprise d’un code utilisant un modèle LSTM en Tensorflow, qui reconnait l’activité d’une personne (assis, debout, en train de marcher, montant des marches…)<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 3==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 3</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 12/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
<br />
*Recherche de modèle avec Vincent. Expérimentation avec un modèle LSTM : https://medium.com/@curiousily/human-activity-recognition-using-lstms-on-android-tensorflow-for-hackers-part-vi-492da5adef64<br />
*Prise en main de ce code <br />
<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Etudes du protocole BLE pour l'intégration à l'application android<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Modification de la [https://developer.android.com/reference/android/app/ListActivity.html ListActivity] pour avoir une sélection [https://www.101apps.co.za/articles/making-a-list-coding-multiple-choice-list-dialogs.html Multi Choice]<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Déchiffrage de codes utilisant un modèle LSTM : cela semble être un bon modèle pour notre cas, à voir les résultats pour des moves assez court.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Cela crée un océan de problèmes de logique en raison de la modification a la volée de la liste lors d'une découverte et du clic sur le bouton menu "Scan/Stop". Après beaucoup de travail sur le Sample je me permet de dire que son design est plus que discutable<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 13/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Fork du modèle LSTM : https://github.com/SmartMove-PolytechGrenoble/TensorFlow-on-Android-for-Human-Activity-Recognition-with-LSTMs <br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Poursuite de l'étude BLE.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Suite de la veille<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Modifications du code pour correspondre à notre formattage de données + modification du prétraitement des données<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 14/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Conception de la gestion des entraînements. Entraînements au sens "suite d'activités" que l'utilisateur peut faire et vouloir détecter<br />
*Soutenance mi parcours<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
*Prévision de l'abandon de l'utilisation d'arduinos pour l'utilisation de sensorTags.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Préparation de la soutenance<br />
*Soutenance mi parcours<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
* Résolution problèmes inconnus Tensorflow<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" | <br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 15/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours gestion<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours gestion<br />
*Découverte sensorTag<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Absence jusqu'aux vacances pour cause de déménagement<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours gestion<br />
* Test d'entraîner le modèle avec des jeux de données : impossible à faire tourner hardware trop faible.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 16/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Essai tensor flow sur mon CPU <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Faire tourner Tensorflow sur GPU : fonctionne mieux.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 4 (Vacances) ==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 4</span><br />
|-<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">/!\Vacances/!\</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Semaine du 19 au 25 février</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Clément --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Quelques tests sur SensorTag<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 5==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 5</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 26/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours de gestion<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de gestion<br />
*Analyse de l'application Android sensorTag officiel (openSource)<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de gestion<br />
*Changement de trajectoire du projet, nous utiliserons désormais des [http://www.ti.com/ww/en/wireless_connectivity/sensortag/ SensorTAG]. Début d'analyse des ressources disponibles afin de voir s'il n'est pas possible d'utiliser un code facile à intégrer<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de gestion<br />
* Début modification du code Android d'évalutation : comptabilisation, du nombre de mouvement, chronométrage.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Solution propriétaire à TI analysée : [http://www.ti.com/tool/ble-stack?DCMP=wbu-blestack&HQS=blestack BLE Stack]<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 27/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (création d'entrainement et sauvegarde)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*La solution fonctionne parfaitement mais ne gère pas le Multi Server GATT. Code trop complexe pour modifications et intégration. Abandon de la solution<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Début modification code enregistrement data. Objectif : labéliser, choisir librement les limites.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 28/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (création d'entrainement et sauvegarde)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Recherche de stage<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Recherche de solution alternative pour la connexion au [http://www.ti.com/ww/en/wireless_connectivity/sensortag/ SensorTAG] avec gestion de multi serveur GATT<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Ajout du support du gyroscope<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Beaucoup de ressources disponibles sur le net fonctionnement en fait avec un Gateway Hardware propriétaire, elles sont donc toutes inutilisables dans notre cas<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 01/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (Visualisation)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Découverte du service [https://github.com/devicehive/android-ble Android BLE] de [https://devicehive.com/ DeviceHive] qui se sert d'un téléphone Android comme Gateway entre plusieurs périphériques BLE et un serveur, répondant à toutes nos contraintes. Exploration et mise en place de cette solution<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Entraînement avec nos propres données : il faut beaucoup de données, avec peu de données la précision est vraiment mauvaise.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Solution un peu complexe d'utilisation et qui ne pourra pas être inclue dans une version en production. Cependant très pratique pour acquérir des jeux de données lors du développement<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 02/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (Visualisation)<br />
* Réunion 2<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Réunion 2<br />
|<!-- Clément --> style="width: 280px;" |<br />
* Solution de [https://devicehive.com/ DeviceHive] fonctionnelle, et découverte d'une nouvelle problématique : La fréquence de notifications des données est de 300 ms, bien trop lent. Pourtant, les [http://www.ti.com/lit/sl/szzy004a/szzy004a.pdf spécifications] de la carte indiquent une fréquence minimale de 100 ms (il est d'ailleurs [https://e2e.ti.com/support/wireless_connectivity/bluetooth_low_energy/f/538/t/385413 apparemment] de flasher l'appareil pour augmenter la fréquence)<br />
* Réunion 2<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Réunion 2<br />
* Récolte de plus de données.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Le problème de fréquence est donc soit lié à DeviceHive soit au téléphone Android. Dans l'immédiat, abandon de la solution DeviceHive pour avoir une version fonctionnelle aussi vite que possible<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 6 ==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 6</span><br />
|-<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 05/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*MaJ Air<br />
|<!-- Timothée --> style="width: 280px;" |<br />
Analyse code BLE Android (celui de Clément)<br />
|<!-- Clément --> style="width: 280px;" |<br />
*L'[https://github.com/SmartMove-PolytechGrenoble/motion_gestures_detection/tree/dev_mesh application] développée par Vincent est suffisamment aboutie pour accepter une intégration des services Bluetooth. Début de cette intégration<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Modif learning pour utiliser les nouvelles infos capteurs : gyroscope + accél, Modifications formattage des données (Python)<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Cela demandera tout de même beaucoup de travail étant donné les problèmes de clone et d'intégration inhérents à Android.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 06/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Réunion avec Clément.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Réunion avec Timothée afin de se mettre d'accord pour permettre une parallélisation du travail.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Le vecteur angulaire n'est pas l'information qu'il nous faut mais plutôt la gravité : changement du code, et reprise de la récupération des données.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Je travaillerai sur la partie connexion Bluetooth et lui sur la partie GATT (découverte des services et caractéristiques, inscription et lecture des notifications)<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 07/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Recherche sur les caractéristiques bluetooth du sensorTag et leur utilisations<br />
|<!-- Clément --> style="width: 280px;" |<br />
Intégration de la connexion a l'appli de récupération des données<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* En fait différentes variable pour l'apprentissage n'avaient pas été touchées, il est possible d'avoir de bons résultats avec peu de données.<br />
* Reprise des tests : très bonne précision avec seulement 40 secondes d'entraînement : les mouvements marcher et sauter sont distingués avec une très bonne précision en ligne droite.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 08/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Excusé (TOEIC)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Papier et téléphone pour le stage.<br />
|<!-- Clément --> style="width: 280px;" |<br />
Suite. Connexion réussie.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Rectification après tests : il faut bien l'accélération angulaire, je n'ai pas le capteur sur mon téléphone, je reste sur des infos accéléromètre et c'est précis.<br />
* Multiples essais en faisant varier les variables pour l'apprentissage tensorflow.<br />
* Essais et modification du code pour pouvoir faire descendre le nombre de valeur en input assez bas : reconnaître les mouvements de toute durée.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 09/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Développement d'une API pour le contrôle du sensorTag une fois connecté.<br />
|<!-- Clément --> style="width: 280px;" |<br />
Suite. Clean du code et de la connexion.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Tests avec gyroscope (j'ai utilisé le téléphone de Timothée car j'ai pas de gyroscope). Les résultats sont moins bons qu'avec seulement l'accéléromètre. Il faut plus de training. Je cherche comment donner moins d'importance au gyroscope.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 7 (à venir)==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 7</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 12/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Suite développement de l'API pour le sensorTag, avancées grâce à une doc pertinente.<br />
* Obtention de valeur de l'accéléromètre et du gyroscope du sensorTag.<br />
|<!-- Clément --> style="width: 280px;" |<br />
Rien<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Test d'un très grand nombre de settings : retenu analyse d'une fenêtre de 2 secondes, glissante de 500ms en 500ms.<br />
* Code Python (learning) et code Android (utilisant le modèle) rendus totalement scalable avec quelques tableaux en dur à remplir selon nos besoins (capteurs en entrée, moves en sortie, moves à compter...) --> l'entraînement / l'UI est généré en conséquence .<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
* Il faut que je modifie le code pour éviter certains doublons, et éviter des événements incompatibles à la suite. Un autre point : ajouter un deuxième seuil de validation (autre que la probabilité) : assurer une proba > 0.98 pendant deux avancées de la fenêtre par exemple, je pense que cela va donner des résultats robustes. Un gros problème de notre projet est qu'on est en Open set : nos classes ne représentent pas tous les mouvements possibles (c'est un domaine de recherche très répandu actuellement). On a alors du bruit. On va essayer d'utiliser la méthode simple : enregistrer du bruit, et des moves qui n'ont aucun sens.<br />
|-<br />
<br />
|-<br />
<br />
| rowspan="2" | <span style="color:green">Mardi 13/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Cours de gestion de projet<br />
* support de Clément pour l'implémentation l'API sur la base de l'appli.<br />
|<!-- Clément --> style="width: 280px;" |<br />
* Cours de gestion de projet<br />
Mise en relation de la connexion avec a partie de Timothée, résolution de problèmes<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
* Problème de fréquence d’échantillonnage, la caractéristique BLE prévu a cette effet ne semble pas avoir d'effet.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
Tentative de mise de mise du SensorTag sur autre application (???) de gestion des entrainements<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 14/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
Echec<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 15/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
Matin : Soutenance<br />
Apres-Midi : Partir le plus loin possible et ne jamais revenir<br />
|<!-- Vincent --> style="width: 280px;" |<br />
<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
<br />
<br />
<br />
|-<br />
<br />
|}</div>
Clement.Rouquier
https://air.imag.fr/index.php?title=RICM5_2017-2018_-_SmartMove&diff=40866
RICM5 2017-2018 - SmartMove
2018-03-14T14:37:39Z
<p>Clement.Rouquier: /* Sprint 6 (En cours) */</p>
<hr />
<div>=Smart Move=<br />
<br />
Smartmove est un ambitieux projet imaginé par quatre étudiants de [https://www.polytech-grenoble.fr/ Polytech Grenoble]. Smartmove est une approche nouvelle du sport avec l'IoT et l'apprentissage machine.<br />
<br />
[[File:Smart-move_logo.png|300px]]<br />
<br />
=Équipe du projet=<br />
{| class="wikitable"<br />
|-<br />
! scope="col" width="200px" | Membre<br />
! scope="col" | Rôles<br />
|-<br />
|Anthony Geourjon<br />
|Chef de projet<br />
|-<br />
|Timothée Lemaire<br />
|Responsable hardware (black belt thinkpad)<br />
|-<br />
|Clément Rouquier<br />
|Responsable Dofus<br />
|-<br />
|Vincent Turrin<br />
|Batteur<br />
|}<br />
<br />
* Supervisé par : Bernard Tourancheau, Didier Donsez<br />
<br />
=Abstract=<br />
In 2017, two highly innovative domains emerge : the Internet of Things and the Artificial Intelligence and especially the machine learning. These technological advances open new possibilities to imagine new ways to help people. In this project, we present our proposal for the [https://iot.eclipse.org/open-iot-challenge/ Open IoT challenge 4.0] organized by the [https://iot.eclipse.org Eclipse Foundation]. This project is also part of the course of Wireless Sensor Networks given by [http://drakkar.imag.fr/spip.php?auteur70&lang=en Prof. Bernard Tourancheau] at [https://www.polytech-grenoble.fr/ Polytech Grenoble] (Engineering school)<br />
<br />
===Mots clés===<br />
* IoT<br />
* Machine learning,<br />
* Sports<br />
<br />
=Présentation= <br />
<br />
Présentation du projet dans le cadre de l'Eclipse IoT challenge : [https://air.imag.fr/index.php/SmartMove Smartmove]<br />
<br />
=SCRUM=<br />
<br />
Une liste plus actualisé des tâches est disponible sur Trello : https://trello.com/b/RVfoU3gl/smart-move-first-tasks<br />
==Sprint 1 - Du 29/01/18 au 04/02/18 ==<br />
<br />
* Définition des rôles<br />
* Mise en place du projet pour tous les membres du groupe(Trello, Github)<br />
* Création de la page AIR pour la tenue de journal<br />
* Prise de contact avec les enseignants concernés<br />
* Début de la phase de conception <br />
<br />
* Séance de management de projets innovants<br />
** Rédaction d'une [https://docs.google.com/document/d/1nxa09q82hH2rLvTtIoq7b92gYE82TqpXkbv_IgrantQ/edit?usp=sharing fiche synthetique] de présentation du projet<br />
<br />
==Sprint 2 - Du 05/02/18 au 11/02/18 ==<br />
<br />
*Définition des taches et des deadline sur Trello<br />
*Première expérimentation avec différents modèles de machine learning. Nous faisons face à de très nombreuses contraintes comparé aux modèles que nous trouvons sur le net comme :<br />
** Nos données sont un flux continu et non un simple échantillon borné à analyser<br />
** Nous recevons des données de plusieurs capteurs, la synchronisation doit être quasi parfaite pour que les données est un sens.<br />
**Nous avons découvert des applications d'enregistrement de mouvement fonctionnant sur Android. https://blog.lemberg.co.uk/motion-gesture-detection-using-tensorflow-android<br />
* Choix des technologies pour la communication entre le téléphone et les Arduinos -> BLE<br />
* Cours de gestion de projet<br />
<br />
==Sprint 3 - Du 12/02/18 au 18/02/18 ==<br />
* Soutenance de mi parcours le mercredi 14/02 de 10h30-11h avec Didier Donsez et Bernard Tourancheau <br />
** Ils sont satisfait de la direction que prend le projet<br />
** Didier nous propose de remplacer les Arduino par des SensorTag qui seraient plus adaptés à nos besoins.<br />
*Expérimentations avec un modèle de machine learning prometteur (LSTP Long short term memory) https://github.com/SmartMove-PolytechGrenoble/TensorFlow-on-Android-for-Human-Activity-Recognition-with-LSTMs<br />
*Expérimentations d'entrainement de modèle sur nos machines -> problème de config sur GPU <br />
*Cours de gestion de projet<br />
<br />
==Sprint 4 - Du 19/02/18 au 25/02/18 ==<br />
Vacances<br />
<br />
==Sprint 5 - Du 26/02/18 au 04/03/18 ==<br />
<br />
*Premières expérimentations avec le SensorTag malgré les problèmes de piles.<br />
*Travail sur la gestion des entraînements (au sens, action que veut reconnaître l'utilisateur)<br />
*Cours de gestion des risques en projets<br />
*Réunion 1 de suivi avec Didier<br />
**Il est satisfait de nos avancées (communication téléphone/SensorTag, avancement dans le machine learning, etc)<br />
<br />
==Sprint 6 - Du 05/03/18 au 11/03/18 (en cours) ==<br />
*Réunion 2 de suivi avec Didier<br />
*Notre modèle est inspiré de : https://drive.google.com/file/d/1u0eh7JCj6yRZqln7Md-eDHJgHbaDcWRC/view?usp=sharing. Nous sommes partis de ce travail et avons modifié le code pour correspondre à nos problématiques / données.<br />
<br />
==Sprint 7 - Du 12/03/18 au 18/03/18 (prévisions) ==<br />
* Soutenance le jeudi 15/03 de 9h-10h<br />
* Préparation de la soutenance <br />
* Fusion de tous nos applications de développement en un démonstrateur pour la soutenance<br />
<br />
=Journal=<br />
<br />
==Sprint1==<br />
<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
<br />
|-<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 1</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 29/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Récupération du matériel au fablab (Arduino 101)<br />
*Tentative d'un flash d'un exemple sur la carte<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Lecture et compréhension des divers documents produits durant le S9 par les 3 autres membres du projet, un gros travail de conception ayant déjà été effectué en amont de mon arrivée<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
*Impossible de faire marcher quelque chose sur la carte pourtant elle est détecté<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Confrontation de l'idée que m'ont donné les documents de conception avec la vision des autres membres afin d'assurer une divergence de trajectoire aussi faible que possible<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 30/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Tentative d'un flash d'un exemple sur la carte<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*La technologie de communication entre les cartes et le téléphone s'effectuera sur la base du [https://developer.android.com/guide/topics/connectivity/bluetooth-le.html Bluetooth BLE]. Ayant déjà travaillé sur cette technologie sur le projet [http://air.imag.fr/index.php/UltraTeam UltraTeam], je ferai cette partie.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
*Le bootloader de la carte est broken et ne fonctionne depuis Linux, Avec Windows Timothée y arrive facilement<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Le BLE est une technologie qui m'avait donné beaucoup de tord durant le précédent projet et il m'intéresse de m'y remettre dessus. le nombre de ressources disponibles est assez peu limité et les ressources existantes ont généralement été conçues pour du HardWare spécial<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 31/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Analyse du code d'[https://github.com/ultratrail/mobapp2 UltraTeam] pour voir ce qui est récupérable du travail déjà effectué dans le cadre du projet antérieur<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Etude problématique projet<br />
*Formation tensorflow : tuto simple, structure du code et concepts de base<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Je ne récupérerai que peu de code du précédent projet en raison du nombre important de bricolage. J'ai décidé de me rebaser quasi-exclusivement sur le [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT]<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple"|<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 02/02/18</span><br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Tentative de flash sur l’Arduino récupéré par Anthony au fablab, finalement réussi sur Windows.<br />
*Essai de l'exemple "HearthRate Monitor" avec connexion Bluetooth.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Création d'un [https://github.com/SmartMove-PolytechGrenoble/SmartMove dépot Github] se basant sur un Fork du Google Sample et qui aura ensuite pour but d'être intégré dans l'application finale créée par les autres. <br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Continuation de la formation TF Visionnage vidéos, notamment conférence sur deep learning adapté à Tensorflow<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Travail avec Clément pour faire fonctionner l'exemple en BLE sur son début d'appli. finalement fonctionnel en demandant l'utilisation du GPS sur android (Comme le requière la spécification BLE)<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Le GoogleSample se base sur un design [https://developer.android.com/reference/android/support/v7/app/AppCompatActivity.html AppCompat], ce qui n'est pas pratique pour l'intégration. Je me souviens avoir eu le même problème sur [http://air.imag.fr/index.php/UltraTeam UltraTeam]. Je le gèrerai cependant de façon opposée -> Au lieu de passer toute mon application sur le même design, je vais transformer le code pour l'utiliser sans ce Framework.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple"|<br />
<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 2==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 2</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 05/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur le AIR<br />
*Export des taches backlog sur Trello<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Début du code Arduino en partant de l'exemple "HeartRate Monitor"<br />
|<!-- Clément --> style="width: 280px;" |<br />
*L'APK fournie par un clone du [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT] ne trouve pas toujours les périphériques BLE environnants. Début des investigations<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Pas mal de difficultés lors du test, en raison de difficultés de debugging sur l'Arduino.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*L'application fonctionne sans soucis sur les plus anciennes versions d'Android mais semble avoir des soucis à partir d'une certaine version du SDK toujours indéterminée.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
*Étude des problématiques propres à notre projet : Stream de data, Dynamic Time<br />
|-<br />
<br />
<br />
|-<br />
<br />
| rowspan="2" | <span style="color:green">Mardi 06/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Étude avec Vincent d'une application utilisant de la détection de mouvement Tensor Flow sur Android. https://blog.lemberg.co.uk/motion-gesture-detection-using-tensorflow-android<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Avancement du code Arduino.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Résolution du bug. Il faut depuis le SDK 23 une autorisation de localisation pour faire fonctionner le Bluetooth. [https://stackoverflow.com/questions/32708374/bluetooth-le-scanfilters-dont-work-on-android-m Problème et solution détaillée]<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Etude d’un code de reconnaissance de mouvement tensorflow Android, + test, comprendre pour pouvoir modifier en conséquence<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Résolution des problèmes rencontrés la veille (Mauvais initialisation du module gérant les capteurs), puis travail sur l'envoie des données par blutooth.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*le problème a également fait l'objet de plusieurs [https://github.com/googlesamples/android-BluetoothLeGatt/pulls Pull Requests] sur le dépo. Certaines ont été validées mais aucune mergées.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 07/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Cours de management de projets innovants - 4h<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Finalisation du code arduino pour le moment.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Début du travail d'intégration du [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT] en tant qu'activité secondaire<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Étude approfondie des modèles : il faut sûrement utiliser un LSTM <br />
<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Recherches sur les UUID (pour l'arduino).<br />
*Envoie des valeurs depuis l'arduino sous forme binaire (nécessite de séparer les octets des ints)<br />
*Mise sur Git du code arduino.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*La forme choisie est celle d'un [https://stackoverflow.com/questions/1979369/android-activity-as-a-dialog Dialog Activity] pour avoir une interaction ergonomique et user friendly<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 08/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Diverses expérimentations avec le MotionGesture. Installation de Gesture Manager sur mon téléphone et record de quelques mouvemnts sur un seul capteur (ceux du téléphone). <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Application fonctionnelle de façon satisfaisante. Cependant, elle ne gère qu'un serveur [https://www.bluetooth.com/specifications/gatt/generic-attributes-overview BLE GATT] là où un par capteur serait nécessaire. Début des modifications en ce sens.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Beaucoup de travail est reste à effectuer afin de permettre la gestion de plusieurs serveurs en simultanée quand l'application de base ne le gère pas du tout. Une meilleure conception aurait réduit l'impact de ce problème<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 09/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
<br />
*Etude de l'appli MotionGestureDemo https://github.com/ryanchyshyn/motion_gestures_detection/tree/master/MotionGesturesDemo<br />
*L’intérêt de cette appli est qu'elle exécute un modèle Tensorflow. Le code nécessaire a cela est externalisé dans une librairie que nous pourrions éventuellement réutiliser<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Hackathlon<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Travail de transition pour une gestion multi-serveurs. Modification des structures de données et des Callbacks.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Abandon du code trouvé précédemment car le modèle ne nous correspond pas. Reprise d’un code utilisant un modèle LSTM en Tensorflow, qui reconnait l’activité d’une personne (assis, debout, en train de marcher, montant des marches…)<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 3==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 3</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 12/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
<br />
*Recherche de modèle avec Vincent. Expérimentation avec un modèle LSTM : https://medium.com/@curiousily/human-activity-recognition-using-lstms-on-android-tensorflow-for-hackers-part-vi-492da5adef64<br />
*Prise en main de ce code <br />
<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Etudes du protocole BLE pour l'intégration à l'application android<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Modification de la [https://developer.android.com/reference/android/app/ListActivity.html ListActivity] pour avoir une sélection [https://www.101apps.co.za/articles/making-a-list-coding-multiple-choice-list-dialogs.html Multi Choice]<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Déchiffrage de codes utilisant un modèle LSTM : cela semble être un bon modèle pour notre cas, à voir les résultats pour des moves assez court.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Cela crée un océan de problèmes de logique en raison de la modification a la volée de la liste lors d'une découverte et du clic sur le bouton menu "Scan/Stop". Après beaucoup de travail sur le Sample je me permet de dire que son design est plus que discutable<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 13/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Fork du modèle LSTM : https://github.com/SmartMove-PolytechGrenoble/TensorFlow-on-Android-for-Human-Activity-Recognition-with-LSTMs <br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Poursuite de l'étude BLE.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Suite de la veille<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Modifications du code pour correspondre à notre formattage de données + modification du prétraitement des données<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 14/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Conception de la gestion des entraînements. Entraînements au sens "suite d'activités" que l'utilisateur peut faire et vouloir détecter<br />
*Soutenance mi parcours<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
*Prévision de l'abandon de l'utilisation d'arduinos pour l'utilisation de sensorTags.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Préparation de la soutenance<br />
*Soutenance mi parcours<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
* Résolution problèmes inconnus Tensorflow<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" | <br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 15/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours gestion<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours gestion<br />
*Découverte sensorTag<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Absence jusqu'aux vacances pour cause de déménagement<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours gestion<br />
* Test d'entraîner le modèle avec des jeux de données : impossible à faire tourner hardware trop faible.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 16/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Essai tensor flow sur mon CPU <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Faire tourner Tensorflow sur GPU : fonctionne mieux.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 4 (Vacances) ==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 4</span><br />
|-<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">/!\Vacances/!\</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Semaine du 19 au 25 février</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Clément --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Quelques tests sur SensorTag<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 5==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 5</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 26/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours de gestion<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de gestion<br />
*Analyse de l'application Android sensorTag officiel (openSource)<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de gestion<br />
*Changement de trajectoire du projet, nous utiliserons désormais des [http://www.ti.com/ww/en/wireless_connectivity/sensortag/ SensorTAG]. Début d'analyse des ressources disponibles afin de voir s'il n'est pas possible d'utiliser un code facile à intégrer<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de gestion<br />
* Début modification du code Android d'évalutation : comptabilisation, du nombre de mouvement, chronométrage.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Solution propriétaire à TI analysée : [http://www.ti.com/tool/ble-stack?DCMP=wbu-blestack&HQS=blestack BLE Stack]<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 27/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (création d'entrainement et sauvegarde)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*La solution fonctionne parfaitement mais ne gère pas le Multi Server GATT. Code trop complexe pour modifications et intégration. Abandon de la solution<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Début modification code enregistrement data. Objectif : labéliser, choisir librement les limites.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 28/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (création d'entrainement et sauvegarde)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Recherche de stage<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Recherche de solution alternative pour la connexion au [http://www.ti.com/ww/en/wireless_connectivity/sensortag/ SensorTAG] avec gestion de multi serveur GATT<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Ajout du support du gyroscope<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Beaucoup de ressources disponibles sur le net fonctionnement en fait avec un Gateway Hardware propriétaire, elles sont donc toutes inutilisables dans notre cas<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 01/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (Visualisation)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Découverte du service [https://github.com/devicehive/android-ble Android BLE] de [https://devicehive.com/ DeviceHive] qui se sert d'un téléphone Android comme Gateway entre plusieurs périphériques BLE et un serveur, répondant à toutes nos contraintes. Exploration et mise en place de cette solution<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Entraînement avec nos propres données : il faut beaucoup de données, avec peu de données la précision est vraiment mauvaise.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Solution un peu complexe d'utilisation et qui ne pourra pas être inclue dans une version en production. Cependant très pratique pour acquérir des jeux de données lors du développement<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 02/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (Visualisation)<br />
* Réunion 2<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Réunion 2<br />
|<!-- Clément --> style="width: 280px;" |<br />
* Solution de [https://devicehive.com/ DeviceHive] fonctionnelle, et découverte d'une nouvelle problématique : La fréquence de notifications des données est de 300 ms, bien trop lent. Pourtant, les [http://www.ti.com/lit/sl/szzy004a/szzy004a.pdf spécifications] de la carte indiquent une fréquence minimale de 100 ms (il est d'ailleurs [https://e2e.ti.com/support/wireless_connectivity/bluetooth_low_energy/f/538/t/385413 apparemment] de flasher l'appareil pour augmenter la fréquence)<br />
* Réunion 2<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Réunion 2<br />
* Récolte de plus de données.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Le problème de fréquence est donc soit lié à DeviceHive soit au téléphone Android. Dans l'immédiat, abandon de la solution DeviceHive pour avoir une version fonctionnelle aussi vite que possible<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 6 ==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 6</span><br />
|-<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 05/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*MaJ Air<br />
|<!-- Timothée --> style="width: 280px;" |<br />
Analyse code BLE Android (celui de Clément)<br />
|<!-- Clément --> style="width: 280px;" |<br />
*L'[https://github.com/SmartMove-PolytechGrenoble/motion_gestures_detection/tree/dev_mesh application] développée par Vincent est suffisamment aboutie pour accepter une intégration des services Bluetooth. Début de cette intégration<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Modif learning pour utiliser les nouvelles infos capteurs : gyroscope + accél, Modifications formattage des données (Python)<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Cela demandera tout de même beaucoup de travail étant donné les problèmes de clone et d'intégration inhérents à Android.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 06/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Réunion avec Clément.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Réunion avec Timothée afin de se mettre d'accord pour permettre une parallélisation du travail.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Le vecteur angulaire n'est pas l'information qu'il nous faut mais plutôt la gravité : changement du code, et reprise de la récupération des données.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Je travaillerai sur la partie connexion Bluetooth et lui sur la partie GATT (découverte des services et caractéristiques, inscription et lecture des notifications)<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 07/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Recherche sur les caractéristiques bluetooth du sensorTag et leur utilisations<br />
|<!-- Clément --> style="width: 280px;" |<br />
Intégration de la connexion a l'appli de récupération des données<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* En fait différentes variable pour l'apprentissage n'avaient pas été touchées, il est possible d'avoir de bons résultats avec peu de données.<br />
* Reprise des tests : très bonne précision avec seulement 40 secondes d'entraînement : les mouvements marcher et sauter sont distingués avec une très bonne précision en ligne droite.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 08/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Excusé (TOEIC)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Papier et téléphone pour le stage.<br />
|<!-- Clément --> style="width: 280px;" |<br />
Suite. Connexion réussie.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Rectification après tests : il faut bien l'accélération angulaire, je n'ai pas le capteur sur mon téléphone, je reste sur des infos accéléromètre et c'est précis.<br />
* Multiples essais en faisant varier les variables pour l'apprentissage tensorflow.<br />
* Essais et modification du code pour pouvoir faire descendre le nombre de valeur en input assez bas : reconnaître les mouvements de toute durée.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 09/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Développement d'une API pour le contrôle du sensorTag une fois connecté.<br />
|<!-- Clément --> style="width: 280px;" |<br />
Suite. Clean du code et de la connexion.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Tests avec gyroscope (j'ai utilisé le téléphone de Timothée car j'ai pas de gyroscope). Les résultats sont moins bons qu'avec seulement l'accéléromètre. Il faut plus de training. Je cherche comment donner moins d'importance au gyroscope.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 7 (à venir)==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 7</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 12/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Suite développement de l'API pour le sensorTag, avancées grâce à une doc pertinente.<br />
* Obtention de valeur de l'accéléromètre et du gyroscope du sensorTag.<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Test d'un très grand nombre de settings : retenu analyse d'une fenêtre de 2 secondes, glissante de 500ms en 500ms.<br />
* Code Python (learning) et code Android (utilisant le modèle) rendus totalement scalable avec quelques tableaux en dur à remplir selon nos besoins (capteurs en entrée, moves en sortie, moves à compter...) --> l'entraînement / l'UI est généré en conséquence .<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
* Il faut que je modifie le code pour éviter certains doublons, et éviter des événements incompatibles à la suite. Un autre point : ajouter un deuxième seuil de validation (autre que la probabilité) : assurer une proba > 0.98 pendant deux avancées de la fenêtre par exemple, je pense que cela va donner des résultats robustes. Un gros problème de notre projet est qu'on est en Open set : nos classes ne représentent pas tous les mouvements possibles (c'est un domaine de recherche très répandu actuellement). On a alors du bruit. On va essayer d'utiliser la méthode simple : enregistrer du bruit, et des moves qui n'ont aucun sens.<br />
|-<br />
<br />
|-<br />
<br />
| rowspan="2" | <span style="color:green">Mardi 13/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Cours de gestion de projet<br />
* support de Clément pour l'implémentation l'API sur la base de l'appli.<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
* Problème de fréquence d’échantillonnage, la caractéristique BLE prévu a cette effet ne semble pas avoir d'effet.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 14/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 15/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
<br />
<br />
<br />
|-<br />
<br />
|}</div>
Clement.Rouquier
https://air.imag.fr/index.php?title=RICM5_2017-2018_-_SmartMove&diff=40544
RICM5 2017-2018 - SmartMove
2018-03-09T14:24:39Z
<p>Clement.Rouquier: /* Sprint 6 (En cours) */</p>
<hr />
<div>=Smart Move=<br />
<br />
Smartmove est un ambitieux projet imaginé par quatre étudiants de [https://www.polytech-grenoble.fr/ Polytech Grenoble]. Smartmove est une approche nouvelle du sport avec l'IoT et l'apprentissage machine.<br />
<br />
[[File:Smart-move_logo.png|300px]]<br />
<br />
=Équipe du projet=<br />
{| class="wikitable"<br />
|-<br />
! scope="col" width="200px" | Membre<br />
! scope="col" | Rôles<br />
|-<br />
|Anthony Geourjon<br />
|Chef de projet<br />
|-<br />
|Timothée Lemaire<br />
|Responsable hardware (black belt thinkpad)<br />
|-<br />
|Clément Rouquier<br />
|Responsable Dofus<br />
|-<br />
|Vincent Turrin<br />
|Batteur<br />
|}<br />
<br />
* Supervisé par : Bernard Tourancheau, Didier Donsez<br />
<br />
=Abstract=<br />
In 2017, two highly innovative domains emerge : the Internet of Things and the Artificial Intelligence and especially the machine learning. These technological advances open new possibilities to imagine new ways to help people. In this project, we present our proposal for the [https://iot.eclipse.org/open-iot-challenge/ Open IoT challenge 4.0] organized by the [https://iot.eclipse.org Eclipse Foundation]. This project is also part of the course of Wireless Sensor Networks given by [http://drakkar.imag.fr/spip.php?auteur70&lang=en Prof. Bernard Tourancheau] at [https://www.polytech-grenoble.fr/ Polytech Grenoble] (Engineering school)<br />
<br />
===Mots clés===<br />
* IoT<br />
* Machine learning,<br />
* Sports<br />
<br />
=Présentation= <br />
<br />
Présentation du projet dans le cadre de l'Eclipse IoT challenge : [https://air.imag.fr/index.php/SmartMove Smartmove]<br />
<br />
=SCRUM=<br />
<br />
Une liste plus actualisé des tâches est disponible sur Trello : https://trello.com/b/RVfoU3gl/smart-move-first-tasks<br />
==Sprint 1 - Du 29/01/18 au 04/02/18 ==<br />
<br />
* Définition des rôles<br />
* Mise en place du projet pour tous les membres du groupe(Trello, Github)<br />
* Création de la page AIR pour la tenue de journal<br />
* Prise de contact avec les enseignants concernés<br />
* Début de la phase de conception <br />
<br />
* Séance de management de projets innovants<br />
** Rédaction d'une [https://docs.google.com/document/d/1nxa09q82hH2rLvTtIoq7b92gYE82TqpXkbv_IgrantQ/edit?usp=sharing fiche synthetique] de présentation du projet<br />
<br />
==Sprint 2 - Du 05/02/18 au 11/02/18 ==<br />
<br />
*Définition des taches et des deadline sur Trello<br />
*Première expérimentation avec différents modèles de machine learning. Nous faisons face à de très nombreuses contraintes comparé aux modèles que nous trouvons sur le net comme :<br />
** Nos données sont un flux continu et non un simple échantillon borné à analyser<br />
** Nous recevons des données de plusieurs capteurs, la synchronisation doit être quasi parfaite pour que les données est un sens.<br />
**Nous avons découvert des applications d'enregistrement de mouvement fonctionnant sur Android. https://blog.lemberg.co.uk/motion-gesture-detection-using-tensorflow-android<br />
* Choix des technologies pour la communication entre le téléphone et les Arduinos -> BLE<br />
* Cours de gestion de projet<br />
<br />
==Sprint 3 - Du 12/02/18 au 18/02/18 ==<br />
* Soutenance de mi parcours le mercredi 14/02 de 10h30-11h avec Didier Donsez et Bernard Tourancheau <br />
** Ils sont satisfait de la direction que prend le projet<br />
** Didier nous propose de remplacer les Arduino par des SensorTag qui seraient plus adaptés à nos besoins.<br />
*Expérimentations avec un modèle de machine learning prometteur (LSTP Long short term memory) https://github.com/SmartMove-PolytechGrenoble/TensorFlow-on-Android-for-Human-Activity-Recognition-with-LSTMs<br />
*Expérimentations d'entrainement de modèle sur nos machines -> problème de config sur GPU <br />
*Cours de gestion de projet<br />
<br />
==Sprint 4 - Du 19/02/18 au 25/02/18 ==<br />
Vacances<br />
<br />
==Sprint 5 - Du 26/02/18 au 04/03/18 ==<br />
<br />
*Premières expérimentations avec le SensorTag malgré les problèmes de piles.<br />
*Travail sur la gestion des entraînements (au sens, action que veut reconnaître l'utilisateur)<br />
*Cours de gestion des risques en projets<br />
*Réunion 1 de suivi avec Didier<br />
**Il est satisfait de nos avancées (communication téléphone/SensorTag, avancement dans le machine learning, etc)<br />
<br />
==Sprint 6 - Du 05/03/18 au 11/03/18 (en cours) ==<br />
*Réunion 2 de suivi avec Didier<br />
*Notre modèle est inspiré de : https://colab.research.google.com/drive/1u0eh7JCj6yRZqln7Md-eDHJgHbaDcWRC#scrollTo=Izy7oI9P3Pyj. Nous sommes partis de ce travail et avons modifié le code pour correspondre à nos problématiques / données.<br />
<br />
==Sprint 7 - Du 12/03/18 au 18/03/18 (prévisions) ==<br />
* Soutenance le jeudi 15/03 de 9h-10h<br />
* Préparation de la soutenance <br />
* Fusion de tous nos applications de développement en un démonstrateur pour la soutenance<br />
<br />
=Journal=<br />
<br />
==Sprint1==<br />
<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
<br />
|-<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 1</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 29/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Récupération du matériel au fablab (Arduino 101)<br />
*Tentative d'un flash d'un exemple sur la carte<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Lecture et compréhension des divers documents produits durant le S9 par les 3 autres membres du projet, un gros travail de conception ayant déjà été effectué en amont de mon arrivée<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
*Impossible de faire marcher quelque chose sur la carte pourtant elle est détecté<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Confrontation de l'idée que m'ont donné les documents de conception avec la vision des autres membres afin d'assurer une divergence de trajectoire aussi faible que possible<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 30/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Tentative d'un flash d'un exemple sur la carte<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*La technologie de communication entre les cartes et le téléphone s'effectuera sur la base du [https://developer.android.com/guide/topics/connectivity/bluetooth-le.html Bluetooth BLE]. Ayant déjà travaillé sur cette technologie sur le projet [http://air.imag.fr/index.php/UltraTeam UltraTeam], je ferai cette partie.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
*Le bootloader de la carte est broken et ne fonctionne depuis Linux, Avec Windows Timothée y arrive facilement<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Le BLE est une technologie qui m'avait donné beaucoup de tord durant le précédent projet et il m'intéresse de m'y remettre dessus. le nombre de ressources disponibles est assez peu limité et les ressources existantes ont généralement été conçues pour du HardWare spécial<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 31/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Analyse du code d'[https://github.com/ultratrail/mobapp2 UltraTeam] pour voir ce qui est récupérable du travail déjà effectué dans le cadre du projet antérieur<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Etude problématique projet<br />
*Formation tensorflow : tuto simple, structure du code et concepts de base<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Je ne récupérerai que peu de code du précédent projet en raison du nombre important de bricolage. J'ai décidé de me rebaser quasi-exclusivement sur le [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT]<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple"|<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 02/02/18</span><br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Tentative de flash sur l’Arduino récupéré par Anthony au fablab, finalement réussi sur Windows.<br />
*Essai de l'exemple "HearthRate Monitor" avec connexion Bluetooth.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Création d'un [https://github.com/SmartMove-PolytechGrenoble/SmartMove dépot Github] se basant sur un Fork du Google Sample et qui aura ensuite pour but d'être intégré dans l'application finale créée par les autres. <br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Continuation de la formation TF Visionnage vidéos, notamment conférence sur deep learning adapté à Tensorflow<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Travail avec Clément pour faire fonctionner l'exemple en BLE sur son début d'appli. finalement fonctionnel en demandant l'utilisation du GPS sur android (Comme le requière la spécification BLE)<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Le GoogleSample se base sur un design [https://developer.android.com/reference/android/support/v7/app/AppCompatActivity.html AppCompat], ce qui n'est pas pratique pour l'intégration. Je me souviens avoir eu le même problème sur [http://air.imag.fr/index.php/UltraTeam UltraTeam]. Je le gèrerai cependant de façon opposée -> Au lieu de passer toute mon application sur le même design, je vais transformer le code pour l'utiliser sans ce Framework.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple"|<br />
<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 2==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 2</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 05/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur le AIR<br />
*Export des taches backlog sur Trello<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Début du code Arduino en partant de l'exemple "HeartRate Monitor"<br />
|<!-- Clément --> style="width: 280px;" |<br />
*L'APK fournie par un clone du [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT] ne trouve pas toujours les périphériques BLE environnants. Début des investigations<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Pas mal de difficultés lors du test, en raison de difficultés de debugging sur l'Arduino.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*L'application fonctionne sans soucis sur les plus anciennes versions d'Android mais semble avoir des soucis à partir d'une certaine version du SDK toujours indéterminée.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
*Étude des problématiques propres à notre projet : Stream de data, Dynamic Time<br />
|-<br />
<br />
<br />
|-<br />
<br />
| rowspan="2" | <span style="color:green">Mardi 06/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Étude avec Vincent d'une application utilisant de la détection de mouvement Tensor Flow sur Android. https://blog.lemberg.co.uk/motion-gesture-detection-using-tensorflow-android<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Avancement du code Arduino.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Résolution du bug. Il faut depuis le SDK 23 une autorisation de localisation pour faire fonctionner le Bluetooth. [https://stackoverflow.com/questions/32708374/bluetooth-le-scanfilters-dont-work-on-android-m Problème et solution détaillée]<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Etude d’un code de reconnaissance de mouvement tensorflow Android, + test, comprendre pour pouvoir modifier en conséquence<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Résolution des problèmes rencontrés la veille (Mauvais initialisation du module gérant les capteurs), puis travail sur l'envoie des données par blutooth.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*le problème a également fait l'objet de plusieurs [https://github.com/googlesamples/android-BluetoothLeGatt/pulls Pull Requests] sur le dépo. Certaines ont été validées mais aucune mergées.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 07/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Cours de management de projets innovants - 4h<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Finalisation du code arduino pour le moment.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Début du travail d'intégration du [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT] en tant qu'activité secondaire<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Étude approfondie des modèles : il faut sûrement utiliser un LSTM <br />
<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Recherches sur les UUID (pour l'arduino).<br />
*Envoie des valeurs depuis l'arduino sous forme binaire (nécessite de séparer les octets des ints)<br />
*Mise sur Git du code arduino.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*La forme choisie est celle d'un [https://stackoverflow.com/questions/1979369/android-activity-as-a-dialog Dialog Activity] pour avoir une interaction ergonomique et user friendly<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 08/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Diverses expérimentations avec le MotionGesture. Installation de Gesture Manager sur mon téléphone et record de quelques mouvemnts sur un seul capteur (ceux du téléphone). <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Application fonctionnelle de façon satisfaisante. Cependant, elle ne gère qu'un serveur [https://www.bluetooth.com/specifications/gatt/generic-attributes-overview BLE GATT] là où un par capteur serait nécessaire. Début des modifications en ce sens.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Beaucoup de travail est reste à effectuer afin de permettre la gestion de plusieurs serveurs en simultanée quand l'application de base ne le gère pas du tout. Une meilleure conception aurait réduit l'impact de ce problème<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 09/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
<br />
*Etude de l'appli MotionGestureDemo https://github.com/ryanchyshyn/motion_gestures_detection/tree/master/MotionGesturesDemo<br />
*L’intérêt de cette appli est qu'elle exécute un modèle Tensorflow. Le code nécessaire a cela est externalisé dans une librairie que nous pourrions éventuellement réutiliser<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Hackathlon<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Travail de transition pour une gestion multi-serveurs. Modification des structures de données et des Callbacks.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Abandon du code trouvé précédemment car le modèle ne nous correspond pas. Reprise d’un code utilisant un modèle LSTM en Tensorflow, qui reconnait l’activité d’une personne (assis, debout, en train de marcher, montant des marches…)<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 3==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 3</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 12/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
<br />
*Recherche de modèle avec Vincent. Expérimentation avec un modèle LSTM : https://medium.com/@curiousily/human-activity-recognition-using-lstms-on-android-tensorflow-for-hackers-part-vi-492da5adef64<br />
*Prise en main de ce code <br />
<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Modification de la [https://developer.android.com/reference/android/app/ListActivity.html ListActivity] pour avoir une sélection [https://www.101apps.co.za/articles/making-a-list-coding-multiple-choice-list-dialogs.html Multi Choice]<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Déchiffrage de codes utilisant un modèle LSTM : cela semble être un bon modèle pour notre cas, à voir les résultats pour des moves assez court.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Cela crée un océan de problèmes de logique en raison de la modification a la volée de la liste lors d'une découverte et du clic sur le bouton menu "Scan/Stop". Après beaucoup de travail sur le Sample je me permet de dire que son design est plus que discutable<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 13/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Fork du modèle LSTM : https://github.com/SmartMove-PolytechGrenoble/TensorFlow-on-Android-for-Human-Activity-Recognition-with-LSTMs <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Suite de la veille<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Modifications du code pour correspondre à notre formattage de données + modification du prétraitement des données<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 14/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Conception de la gestion des entraînements. Entraînements au sens "suite d'activités" que l'utilisateur peut faire et vouloir détecter<br />
*Soutenance mi parcours<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Préparation de la soutenance<br />
*Soutenance mi parcours<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
* Résolution problèmes inconnus Tensorflow<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" | <br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 15/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours gestion<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours gestion<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Absence jusqu'aux vacances pour cause de déménagement<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours gestion<br />
* Test d'entraîner le modèle avec des jeux de données : impossible à faire tourner hardware trop faible.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 16/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Essai tensor flow sur mon CPU <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Faire tourner Tensorflow sur GPU : fonctionne mieux.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 4 (Vacances) ==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 4</span><br />
|-<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">/!\Vacances/!\</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Semaine du 19 au 25 février</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Clément --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Quelques tests sur SensorTag<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 5==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 5</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 26/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours de gestion<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de gestion<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de gestion<br />
*Changement de trajectoire du projet, nous utiliserons désormais des [http://www.ti.com/ww/en/wireless_connectivity/sensortag/ SensorTAG]. Début d'analyse des ressources disponibles afin de voir s'il n'est pas possible d'utiliser un code facile à intégrer<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de gestion<br />
* Début modification du code Android d'évalutation : comptabilisation, du nombre de mouvement, chronométrage.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Solution propriétaire à TI analysée : [http://www.ti.com/tool/ble-stack?DCMP=wbu-blestack&HQS=blestack BLE Stack]<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 27/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (création d'entrainement et sauvegarde)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*La solution fonctionne parfaitement mais ne gère pas le Multi Server GATT. Code trop complexe pour modifications et intégration. Abandon de la solution<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Début modification code enregistrement data. Objectif : labéliser, choisir librement les limites.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 28/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (création d'entrainement et sauvegarde)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Recherche de solution alternative pour la connexion au [http://www.ti.com/ww/en/wireless_connectivity/sensortag/ SensorTAG] avec gestion de multi serveur GATT<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Ajout du support du gyroscope<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Beaucoup de ressources disponibles sur le net fonctionnement en fait avec un Gateway Hardware propriétaire, elles sont donc toutes inutilisables dans notre cas<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 01/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (Visualisation)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Découverte du service [https://github.com/devicehive/android-ble Android BLE] de [https://devicehive.com/ DeviceHive] qui se sert d'un téléphone Android comme Gateway entre plusieurs périphériques BLE et un serveur, répondant à toutes nos contraintes. Exploration et mise en place de cette solution<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Entraînement avec nos propres données : il faut beaucoup de données, avec peu de données la précision est vraiment mauvaise.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Solution un peu complexe d'utilisation et qui ne pourra pas être inclue dans une version en production. Cependant très pratique pour acquérir des jeux de données lors du développement<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 02/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (Visualisation)<br />
* Réunion 2<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Réunion 2<br />
|<!-- Clément --> style="width: 280px;" |<br />
* Solution de [https://devicehive.com/ DeviceHive] fonctionnelle, et découverte d'une nouvelle problématique : La fréquence de notifications des données est de 300 ms, bien trop lent. Pourtant, les [http://www.ti.com/lit/sl/szzy004a/szzy004a.pdf spécifications] de la carte indiquent une fréquence minimale de 100 ms (il est d'ailleurs [https://e2e.ti.com/support/wireless_connectivity/bluetooth_low_energy/f/538/t/385413 apparemment] de flasher l'appareil pour augmenter la fréquence)<br />
* Réunion 2<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Réunion 2<br />
* Récolte de plus de données.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Le problème de fréquence est donc soit lié à DeviceHive soit au téléphone Android. Dans l'immédiat, abandon de la solution DeviceHive pour avoir une version fonctionnelle aussi vite que possible<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 6 (En cours) ==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 6</span><br />
|-<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 05/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*MaJ Air<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*L'[https://github.com/SmartMove-PolytechGrenoble/motion_gestures_detection/tree/dev_mesh application] développée par Vincent est suffisamment aboutie pour accepter une intégration des services Bluetooth. Début de cette intégration<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Modif learning pour utiliser les nouvelles infos capteurs : gyroscope + accél, Modifications formattage des données (Python)<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Cela demandera tout de même beaucoup de travail étant donné les problèmes de clone et d'intégration inhérents à Android.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 06/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Réunion avec Timothée afin de se mettre d'accord pour permettre une parallélisation du travail.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Le vecteur angulaire n'est pas l'information qu'il nous faut mais plutôt la gravité : changement du code, et reprise de la récupération des données.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Je travaillerai sur la partie connexion Bluetooth et lui sur la partie GATT (découverte des services et caractéristiques, inscription et lecture des notifications)<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 07/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* En fait différentes variable pour l'apprentissage n'avaient pas été touchées, il est possible d'avoir de bons résultats avec peu de données.<br />
* Reprise des tests : très bonne précision avec seulement 40 secondes d'entraînement : les mouvements marcher et sauter sont distingués avec une très bonne précision en ligne droite.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 08/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Excusé (TOEIC)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Rectification après tests : il faut bien l'accélération angulaire, je n'ai pas le capteur sur mon téléphone, je reste sur des infos accéléromètre et c'est précis.<br />
* Multiples essais en faisant varier les variables pour l'apprentissage tensorflow.<br />
* Essais et modification du code pour pouvoir faire descendre le nombre de valeur en input assez bas : reconnaître les mouvements de toute durée.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 09/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Tests avec gyroscope (j'ai utilisé le téléphone de Timothée car j'ai pas de gyroscope). Les résultats sont moins bons qu'avec seulement l'accéléromètre. Il faut plus de training. Je cherche comment donner moins d'importance au gyroscope.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 7 (à venir)==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 7</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 12/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
<br />
| rowspan="2" | <span style="color:green">Mardi 13/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 14/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 15/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
<br />
<br />
<br />
|-<br />
<br />
|}</div>
Clement.Rouquier
https://air.imag.fr/index.php?title=RICM5_2017-2018_-_SmartMove&diff=40542
RICM5 2017-2018 - SmartMove
2018-03-09T14:21:39Z
<p>Clement.Rouquier: /* Sprint 6 (En cours) */</p>
<hr />
<div>=Smart Move=<br />
<br />
Smartmove est un ambitieux projet imaginé par quatre étudiants de [https://www.polytech-grenoble.fr/ Polytech Grenoble]. Smartmove est une approche nouvelle du sport avec l'IoT et l'apprentissage machine.<br />
<br />
[[File:Smart-move_logo.png|300px]]<br />
<br />
=Équipe du projet=<br />
{| class="wikitable"<br />
|-<br />
! scope="col" width="200px" | Membre<br />
! scope="col" | Rôles<br />
|-<br />
|Anthony Geourjon<br />
|Chef de projet<br />
|-<br />
|Timothée Lemaire<br />
|Responsable hardware (black belt thinkpad)<br />
|-<br />
|Clément Rouquier<br />
|Responsable Dofus<br />
|-<br />
|Vincent Turrin<br />
|Batteur<br />
|}<br />
<br />
* Supervisé par : Bernard Tourancheau, Didier Donsez<br />
<br />
=Abstract=<br />
In 2017, two highly innovative domains emerge : the Internet of Things and the Artificial Intelligence and especially the machine learning. These technological advances open new possibilities to imagine new ways to help people. In this project, we present our proposal for the [https://iot.eclipse.org/open-iot-challenge/ Open IoT challenge 4.0] organized by the [https://iot.eclipse.org Eclipse Foundation]. This project is also part of the course of Wireless Sensor Networks given by [http://drakkar.imag.fr/spip.php?auteur70&lang=en Prof. Bernard Tourancheau] at [https://www.polytech-grenoble.fr/ Polytech Grenoble] (Engineering school)<br />
<br />
===Mots clés===<br />
* IoT<br />
* Machine learning,<br />
* Sports<br />
<br />
=Présentation= <br />
<br />
Présentation du projet dans le cadre de l'Eclipse IoT challenge : [https://air.imag.fr/index.php/SmartMove Smartmove]<br />
<br />
=SCRUM=<br />
<br />
Une liste plus actualisé des tâches est disponible sur Trello : https://trello.com/b/RVfoU3gl/smart-move-first-tasks<br />
==Sprint 1 - Du 29/01/18 au 04/02/18 ==<br />
<br />
* Définition des rôles<br />
* Mise en place du projet pour tous les membres du groupe(Trello, Github)<br />
* Création de la page AIR pour la tenue de journal<br />
* Prise de contact avec les enseignants concernés<br />
* Début de la phase de conception <br />
<br />
* Séance de management de projets innovants<br />
** Rédaction d'une [https://docs.google.com/document/d/1nxa09q82hH2rLvTtIoq7b92gYE82TqpXkbv_IgrantQ/edit?usp=sharing fiche synthetique] de présentation du projet<br />
<br />
==Sprint 2 - Du 05/02/18 au 11/02/18 ==<br />
<br />
*Définition des taches et des deadline sur Trello<br />
*Première expérimentation avec différents modèles de machine learning. Nous faisons face à de très nombreuses contraintes comparé aux modèles que nous trouvons sur le net comme :<br />
** Nos données sont un flux continu et non un simple échantillon borné à analyser<br />
** Nous recevons des données de plusieurs capteurs, la synchronisation doit être quasi parfaite pour que les données est un sens.<br />
**Nous avons découvert des applications d'enregistrement de mouvement fonctionnant sur Android. https://blog.lemberg.co.uk/motion-gesture-detection-using-tensorflow-android<br />
* TODO parler de BLE et arduino<br />
* Cours de gestion de projet<br />
<br />
==Sprint 3 - Du 12/02/18 au 18/02/18 ==<br />
* Soutenance de mi parcours le mercredi 14/02 de 10h30-11h avec Didier Donsez et Bernard Tourancheau <br />
** Ils sont satisfait de la direction que prend le projet<br />
** Didier nous propose de remplacer les Arduino par des SensorTag qui seraient plus adaptés à nos besoins.<br />
*Expérimentations avec un modèle de machine learning prometteur (LSTP Long short term memory) https://github.com/SmartMove-PolytechGrenoble/TensorFlow-on-Android-for-Human-Activity-Recognition-with-LSTMs<br />
*Expérimentations d'entrainement de modèle sur nos machines -> problème de config sur GPU <br />
*Cours de gestion de projet<br />
<br />
==Sprint 4 - Du 19/02/18 au 25/02/18 ==<br />
Vacances<br />
<br />
==Sprint 5 - Du 26/02/18 au 04/03/18 ==<br />
<br />
*Premières expérimentations avec le SensorTag malgré les problèmes de piles.<br />
*Travail sur la gestion des entraînements (au sens, action que veut reconnaître l'utilisateur)<br />
*Cours de gestion des risques en projets<br />
*Réunion 1 de suivi avec Didier<br />
**Il est satisfait de nos avancées (communication téléphone/SensorTag, avancement dans le machine learning, etc)<br />
<br />
==Sprint 6 - Du 05/03/18 au 11/03/18 (en cours) ==<br />
*Réunion 2 de suivi avec Didier<br />
*Notre modèle est inspiré de : https://colab.research.google.com/drive/1u0eh7JCj6yRZqln7Md-eDHJgHbaDcWRC#scrollTo=Izy7oI9P3Pyj. Nous sommes partis de ce travail et avons modifié le code pour correspondre à nos problématiques / données.<br />
<br />
==Sprint 7 - Du 12/03/18 au 18/03/18 (prévisions) ==<br />
* Soutenance le jeudi 15/03 de 9h-10h<br />
* Préparation de la soutenance <br />
* Fusion de tous nos applications de développement en un démonstrateur pour la soutenance<br />
<br />
=Journal=<br />
<br />
==Sprint1==<br />
<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
<br />
|-<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 1</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 29/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Récupération du matériel au fablab (Arduino 101)<br />
*Tentative d'un flash d'un exemple sur la carte<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Lecture et compréhension des divers documents produits durant le S9 par les 3 autres membres du projet, un gros travail de conception ayant déjà été effectué en amont de mon arrivée<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
*Impossible de faire marcher quelque chose sur la carte pourtant elle est détecté<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Confrontation de l'idée que m'ont donné les documents de conception avec la vision des autres membres afin d'assurer une divergence de trajectoire aussi faible que possible<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 30/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Tentative d'un flash d'un exemple sur la carte<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*La technologie de communication entre les cartes et le téléphone s'effectuera sur la base du [https://developer.android.com/guide/topics/connectivity/bluetooth-le.html Bluetooth BLE]. Ayant déjà travaillé sur cette technologie sur le projet [http://air.imag.fr/index.php/UltraTeam UltraTeam], je ferai cette partie.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
*Le bootloader de la carte est broken et ne fonctionne depuis Linux, Avec Windows Timothée y arrive facilement<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Le BLE est une technologie qui m'avait donné beaucoup de tord durant le précédent projet et il m'intéresse de m'y remettre dessus. le nombre de ressources disponibles est assez peu limité et les ressources existantes ont généralement été conçues pour du HardWare spécial<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 31/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Analyse du code d'[https://github.com/ultratrail/mobapp2 UltraTeam] pour voir ce qui est récupérable du travail déjà effectué dans le cadre du projet antérieur<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Etude problématique projet<br />
*Formation tensorflow : tuto simple, structure du code et concepts de base<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Je ne récupérerai que peu de code du précédent projet en raison du nombre important de bricolage. J'ai décidé de me rebaser quasi-exclusivement sur le [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT]<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple"|<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 02/02/18</span><br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Tentative de flash sur l’Arduino récupéré par Anthony au fablab, finalement réussi sur Windows.<br />
*Essai de l'exemple "HearthRate Monitor" avec connexion Bluetooth.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Création d'un [https://github.com/SmartMove-PolytechGrenoble/SmartMove dépot Github] se basant sur un Fork du Google Sample et qui aura ensuite pour but d'être intégré dans l'application finale créée par les autres. <br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Continuation de la formation TF Visionnage vidéos, notamment conférence sur deep learning adapté à Tensorflow<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Travail avec Clément pour faire fonctionner l'exemple en BLE sur son début d'appli. finalement fonctionnel en demandant l'utilisation du GPS sur android (Comme le requière la spécification BLE)<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Le GoogleSample se base sur un design [https://developer.android.com/reference/android/support/v7/app/AppCompatActivity.html AppCompat], ce qui n'est pas pratique pour l'intégration. Je me souviens avoir eu le même problème sur [http://air.imag.fr/index.php/UltraTeam UltraTeam]. Je le gèrerai cependant de façon opposée -> Au lieu de passer toute mon application sur le même design, je vais transformer le code pour l'utiliser sans ce Framework.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple"|<br />
<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 2==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 2</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 05/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur le AIR<br />
*Export des taches backlog sur Trello<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Début du code Arduino en partant de l'exemple "HeartRate Monitor"<br />
|<!-- Clément --> style="width: 280px;" |<br />
*L'APK fournie par un clone du [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT] ne trouve pas toujours les périphériques BLE environnants. Début des investigations<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Pas mal de difficultés lors du test, en raison de difficultés de debugging sur l'Arduino.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*L'application fonctionne sans soucis sur les plus anciennes versions d'Android mais semble avoir des soucis à partir d'une certaine version du SDK toujours indéterminée.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
*Étude des problématiques propres à notre projet : Stream de data, Dynamic Time<br />
|-<br />
<br />
<br />
|-<br />
<br />
| rowspan="2" | <span style="color:green">Mardi 06/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Étude avec Vincent d'une application utilisant de la détection de mouvement Tensor Flow sur Android. https://blog.lemberg.co.uk/motion-gesture-detection-using-tensorflow-android<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Avancement du code Arduino.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Résolution du bug. Il faut depuis le SDK 23 une autorisation de localisation pour faire fonctionner le Bluetooth. [https://stackoverflow.com/questions/32708374/bluetooth-le-scanfilters-dont-work-on-android-m Problème et solution détaillée]<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Etude d’un code de reconnaissance de mouvement tensorflow Android, + test, comprendre pour pouvoir modifier en conséquence<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Résolution des problèmes rencontrés la veille (Mauvais initialisation du module gérant les capteurs), puis travail sur l'envoie des données par blutooth.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*le problème a également fait l'objet de plusieurs [https://github.com/googlesamples/android-BluetoothLeGatt/pulls Pull Requests] sur le dépo. Certaines ont été validées mais aucune mergées.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 07/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Cours de management de projets innovants - 4h<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Finalisation du code arduino pour le moment.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Début du travail d'intégration du [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT] en tant qu'activité secondaire<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Étude approfondie des modèles : il faut sûrement utiliser un LSTM <br />
<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Recherches sur les UUID (pour l'arduino).<br />
*Envoie des valeurs depuis l'arduino sous forme binaire (nécessite de séparer les octets des ints)<br />
*Mise sur Git du code arduino.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*La forme choisie est celle d'un [https://stackoverflow.com/questions/1979369/android-activity-as-a-dialog Dialog Activity] pour avoir une interaction ergonomique et user friendly<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 08/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Diverses expérimentations avec le MotionGesture. Installation de Gesture Manager sur mon téléphone et record de quelques mouvemnts sur un seul capteur (ceux du téléphone). <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Application fonctionnelle de façon satisfaisante. Cependant, elle ne gère qu'un serveur [https://www.bluetooth.com/specifications/gatt/generic-attributes-overview BLE GATT] là où un par capteur serait nécessaire. Début des modifications en ce sens.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Beaucoup de travail est reste à effectuer afin de permettre la gestion de plusieurs serveurs en simultanée quand l'application de base ne le gère pas du tout. Une meilleure conception aurait réduit l'impact de ce problème<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 09/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
<br />
*Etude de l'appli MotionGestureDemo https://github.com/ryanchyshyn/motion_gestures_detection/tree/master/MotionGesturesDemo<br />
*L’intérêt de cette appli est qu'elle exécute un modèle Tensorflow. Le code nécessaire a cela est externalisé dans une librairie que nous pourrions éventuellement réutiliser<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Hackathlon<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Travail de transition pour une gestion multi-serveurs. Modification des structures de données et des Callbacks.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Abandon du code trouvé précédemment car le modèle ne nous correspond pas. Reprise d’un code utilisant un modèle LSTM en Tensorflow, qui reconnait l’activité d’une personne (assis, debout, en train de marcher, montant des marches…)<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 3==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 3</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 12/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
<br />
*Recherche de modèle avec Vincent. Expérimentation avec un modèle LSTM : https://medium.com/@curiousily/human-activity-recognition-using-lstms-on-android-tensorflow-for-hackers-part-vi-492da5adef64<br />
*Prise en main de ce code <br />
<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Modification de la [https://developer.android.com/reference/android/app/ListActivity.html ListActivity] pour avoir une sélection [https://www.101apps.co.za/articles/making-a-list-coding-multiple-choice-list-dialogs.html Multi Choice]<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Déchiffrage de codes utilisant un modèle LSTM : cela semble être un bon modèle pour notre cas, à voir les résultats pour des moves assez court.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Cela crée un océan de problèmes de logique en raison de la modification a la volée de la liste lors d'une découverte et du clic sur le bouton menu "Scan/Stop". Après beaucoup de travail sur le Sample je me permet de dire que son design est plus que discutable<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 13/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Fork du modèle LSTM : https://github.com/SmartMove-PolytechGrenoble/TensorFlow-on-Android-for-Human-Activity-Recognition-with-LSTMs <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Suite de la veille<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Modifications du code pour correspondre à notre formattage de données + modification du prétraitement des données<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 14/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Conception de la gestion des entraînements. Entraînements au sens "suite d'activités" que l'utilisateur peut faire et vouloir détecter<br />
*Soutenance mi parcours<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Préparation de la soutenance<br />
*Soutenance mi parcours<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
* Résolution problèmes inconnus Tensorflow<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" | <br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 15/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours gestion<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours gestion<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Absence jusqu'aux vacances pour cause de déménagement<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours gestion<br />
* Test d'entraîner le modèle avec des jeux de données : impossible à faire tourner hardware trop faible.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 16/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Essai tensor flow sur mon CPU <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Faire tourner Tensorflow sur GPU : fonctionne mieux.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 4 (Vacances) ==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 4</span><br />
|-<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">/!\Vacances/!\</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Semaine du 19 au 25 février</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Clément --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Quelques tests sur SensorTag<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 5==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 5</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 26/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours de gestion<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de gestion<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de gestion<br />
*Changement de trajectoire du projet, nous utiliserons désormais des [http://www.ti.com/ww/en/wireless_connectivity/sensortag/ SensorTAG]. Début d'analyse des ressources disponibles afin de voir s'il n'est pas possible d'utiliser un code facile à intégrer<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de gestion<br />
* Début modification du code Android d'évalutation : comptabilisation, du nombre de mouvement, chronométrage.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Solution propriétaire à TI analysée : [http://www.ti.com/tool/ble-stack?DCMP=wbu-blestack&HQS=blestack BLE Stack]<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 27/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (création d'entrainement et sauvegarde)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*La solution fonctionne parfaitement mais ne gère pas le Multi Server GATT. Code trop complexe pour modifications et intégration. Abandon de la solution<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Début modification code enregistrement data. Objectif : labéliser, choisir librement les limites.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 28/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (création d'entrainement et sauvegarde)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Recherche de solution alternative pour la connexion au [http://www.ti.com/ww/en/wireless_connectivity/sensortag/ SensorTAG] avec gestion de multi serveur GATT<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Ajout du support du gyroscope<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Beaucoup de ressources disponibles sur le net fonctionnement en fait avec un Gateway Hardware propriétaire, elles sont donc toutes inutilisables dans notre cas<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 01/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (Visualisation)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Découverte du service [https://github.com/devicehive/android-ble Android BLE] de [https://devicehive.com/ DeviceHive] qui se sert d'un téléphone Android comme Gateway entre plusieurs périphériques BLE et un serveur, répondant à toutes nos contraintes. Exploration et mise en place de cette solution<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Entraînement avec nos propres données : il faut beaucoup de données, avec peu de données la précision est vraiment mauvaise.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Solution un peu complexe d'utilisation et qui ne pourra pas être inclue dans une version en production. Cependant très pratique pour acquérir des jeux de données lors du développement<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 02/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (Visualisation)<br />
* Réunion 2<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Réunion 2<br />
|<!-- Clément --> style="width: 280px;" |<br />
* Solution de [https://devicehive.com/ DeviceHive] fonctionnelle, et découverte d'une nouvelle problématique : La fréquence de notifications des données est de 300 ms, bien trop lent. Pourtant, les [http://www.ti.com/lit/sl/szzy004a/szzy004a.pdf spécifications] de la carte indiquent une fréquence minimale de 100 ms (il est d'ailleurs [https://e2e.ti.com/support/wireless_connectivity/bluetooth_low_energy/f/538/t/385413 apparemment] de flasher l'appareil pour augmenter la fréquence)<br />
* Réunion 2<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Réunion 2<br />
* Récolte de plus de données.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Le problème de fréquence est donc soit lié à DeviceHive soit au téléphone Android. Dans l'immédiat, abandon de la solution DeviceHive pour avoir une version fonctionnelle aussi vite que possible<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 6 (En cours) ==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 6</span><br />
|-<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 05/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*MaJ Air<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*L'[https://github.com/SmartMove-PolytechGrenoble/motion_gestures_detection/tree/dev_mesh application] développée par Vincent est suffisamment aboutie pour accepter une intégration des services Bluetooth. Début de cette intégration<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Modif learning pour utiliser les nouvelles infos capteurs : gyroscope + accél, Modifications formattage des données (Python)<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Cela demandera tout de même beaucoup de travail étant donné les problèmes de clone et d'intégration inhérents à Android.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 06/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Le vecteur angulaire n'est pas l'information qu'il nous faut mais plutôt la gravité : changement du code, et reprise de la récupération des données.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 07/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* En fait différentes variable pour l'apprentissage n'avaient pas été touchées, il est possible d'avoir de bons résultats avec peu de données.<br />
* Reprise des tests : très bonne précision avec seulement 40 secondes d'entraînement : les mouvements marcher et sauter sont distingués avec une très bonne précision en ligne droite.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 08/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Excusé (TOEIC)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Rectification après tests : il faut bien l'accélération angulaire, je n'ai pas le capteur sur mon téléphone, je reste sur des infos accéléromètre et c'est précis.<br />
* Multiples essais en faisant varier les variables pour l'apprentissage tensorflow.<br />
* Essais et modification du code pour pouvoir faire descendre le nombre de valeur en input assez bas : reconnaître les mouvements de toute durée.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 09/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Tests avec gyroscope (j'ai utilisé le téléphone de Timothée car j'ai pas de gyroscope). Les résultats sont moins bons qu'avec seulement l'accéléromètre. Il faut plus de training. Je cherche comment donner moins d'importance au gyroscope.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 7 (à venir)==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 7</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 12/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
<br />
| rowspan="2" | <span style="color:green">Mardi 13/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 14/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 15/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
<br />
<br />
<br />
|-<br />
<br />
|}</div>
Clement.Rouquier
https://air.imag.fr/index.php?title=RICM5_2017-2018_-_SmartMove&diff=40534
RICM5 2017-2018 - SmartMove
2018-03-09T14:05:58Z
<p>Clement.Rouquier: /* Sprint 5 */</p>
<hr />
<div>=Smart Move=<br />
<br />
Smartmove est un ambitieux projet imaginé par quatre étudiants de [https://www.polytech-grenoble.fr/ Polytech Grenoble]. Smartmove est une approche nouvelle du sport avec l'IoT et l'apprentissage machine.<br />
<br />
[[File:Smart-move_logo.png|300px]]<br />
<br />
=Équipe du projet=<br />
{| class="wikitable"<br />
|-<br />
! scope="col" width="200px" | Membre<br />
! scope="col" | Rôles<br />
|-<br />
|Anthony Geourjon<br />
|Chef de projet<br />
|-<br />
|Timothée Lemaire<br />
|Responsable hardware (black belt thinkpad)<br />
|-<br />
|Clément Rouquier<br />
|Responsable Dofus<br />
|-<br />
|Vincent Turrin<br />
|Batteur<br />
|}<br />
<br />
* Supervisé par : Bernard Tourancheau, Didier Donsez<br />
<br />
=Abstract=<br />
In 2017, two highly innovative domains emerge : the Internet of Things and the Artificial Intelligence and especially the machine learning. These technological advances open new possibilities to imagine new ways to help people. In this project, we present our proposal for the [https://iot.eclipse.org/open-iot-challenge/ Open IoT challenge 4.0] organized by the [https://iot.eclipse.org Eclipse Foundation]. This project is also part of the course of Wireless Sensor Networks given by [http://drakkar.imag.fr/spip.php?auteur70&lang=en Prof. Bernard Tourancheau] at [https://www.polytech-grenoble.fr/ Polytech Grenoble] (Engineering school)<br />
<br />
===Mots clés===<br />
* IoT<br />
* Machine learning,<br />
* Sports<br />
<br />
=Présentation= <br />
<br />
Présentation du projet dans le cadre de l'Eclipse IoT challenge : [https://air.imag.fr/index.php/SmartMove Smartmove]<br />
<br />
=SCRUM=<br />
<br />
Une liste plus actualisé des tâches est disponible sur Trello : https://trello.com/b/RVfoU3gl/smart-move-first-tasks<br />
==Sprint 1 - Du 29/01/18 au 04/02/18 ==<br />
<br />
* Définition des rôles<br />
* Mise en place du projet pour tous les membres du groupe(Trello, Github)<br />
* Création de la page AIR pour la tenue de journal<br />
* Prise de contact avec les enseignants concernés<br />
* Début de la phase de conception <br />
<br />
* Séance de management de projets innovants<br />
** Rédaction d'une [https://docs.google.com/document/d/1nxa09q82hH2rLvTtIoq7b92gYE82TqpXkbv_IgrantQ/edit?usp=sharing fiche synthetique] de présentation du projet<br />
<br />
==Sprint 2 - Du 05/02/18 au 11/02/18 ==<br />
<br />
*Définition des taches et des deadline sur Trello<br />
*Première expérimentation avec différents modèles de machine learning. Nous faisons face à de très nombreuses contraintes comparé aux modèles que nous trouvons sur le net comme :<br />
** Nos données sont un flux continu et non un simple échantillon borné à analyser<br />
** Nous recevons des données de plusieurs capteurs, la synchronisation doit être quasi parfaite pour que les données est un sens.<br />
**Nous avons découvert des applications d'enregistrement de mouvement fonctionnant sur Android. https://blog.lemberg.co.uk/motion-gesture-detection-using-tensorflow-android<br />
* TODO parler de BLE et arduino<br />
* Cours de gestion de projet<br />
<br />
==Sprint 3 - Du 12/02/18 au 18/02/18 ==<br />
* Soutenance de mi parcours le mercredi 14/02 de 10h30-11h avec Didier Donsez et Bernard Tourancheau <br />
** Ils sont satisfait de la direction que prend le projet<br />
** Didier nous propose de remplacer les Arduino par des SensorTag qui seraient plus adaptés à nos besoins.<br />
*Expérimentations avec un modèle de machine learning prometteur (LSTP Long short term memory) https://github.com/SmartMove-PolytechGrenoble/TensorFlow-on-Android-for-Human-Activity-Recognition-with-LSTMs<br />
*Expérimentations d'entrainement de modèle sur nos machines -> problème de config sur GPU <br />
*Cours de gestion de projet<br />
<br />
==Sprint 4 - Du 19/02/18 au 25/02/18 ==<br />
Vacances<br />
<br />
==Sprint 5 - Du 26/02/18 au 04/03/18 ==<br />
<br />
*Premières expérimentations avec le SensorTag malgré les problèmes de piles.<br />
*Travail sur la gestion des entraînements (au sens, action que veut reconnaître l'utilisateur)<br />
*Cours de gestion des risques en projets<br />
*Réunion 1 de suivi avec Didier<br />
**Il est satisfait de nos avancées (communication téléphone/SensorTag, avancement dans le machine learning, etc)<br />
<br />
==Sprint 6 - Du 05/03/18 au 11/03/18 (en cours) ==<br />
*Réunion 2 de suivi avec Didier<br />
*Notre modèle est inspiré de : https://colab.research.google.com/drive/1u0eh7JCj6yRZqln7Md-eDHJgHbaDcWRC#scrollTo=Izy7oI9P3Pyj. Nous sommes partis de ce travail et avons modifié le code pour correspondre à nos problématiques / données.<br />
<br />
==Sprint 7 - Du 12/03/18 au 18/03/18 (prévisions) ==<br />
* Soutenance le jeudi 15/03 de 9h-10h<br />
* Préparation de la soutenance <br />
* Fusion de tous nos applications de développement en un démonstrateur pour la soutenance<br />
<br />
=Journal=<br />
<br />
==Sprint1==<br />
<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
<br />
|-<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 1</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 29/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Récupération du matériel au fablab (Arduino 101)<br />
*Tentative d'un flash d'un exemple sur la carte<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Lecture et compréhension des divers documents produits durant le S9 par les 3 autres membres du projet, un gros travail de conception ayant déjà été effectué en amont de mon arrivée<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
*Impossible de faire marcher quelque chose sur la carte pourtant elle est détecté<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Confrontation de l'idée que m'ont donné les documents de conception avec la vision des autres membres afin d'assurer une divergence de trajectoire aussi faible que possible<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 30/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Tentative d'un flash d'un exemple sur la carte<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*La technologie de communication entre les cartes et le téléphone s'effectuera sur la base du [https://developer.android.com/guide/topics/connectivity/bluetooth-le.html Bluetooth BLE]. Ayant déjà travaillé sur cette technologie sur le projet [http://air.imag.fr/index.php/UltraTeam UltraTeam], je ferai cette partie.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
*Le bootloader de la carte est broken et ne fonctionne depuis Linux, Avec Windows Timothée y arrive facilement<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Le BLE est une technologie qui m'avait donné beaucoup de tord durant le précédent projet et il m'intéresse de m'y remettre dessus. le nombre de ressources disponibles est assez peu limité et les ressources existantes ont généralement été conçues pour du HardWare spécial<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 31/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Analyse du code d'[https://github.com/ultratrail/mobapp2 UltraTeam] pour voir ce qui est récupérable du travail déjà effectué dans le cadre du projet antérieur<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Etude problématique projet<br />
*Formation tensorflow : tuto simple, structure du code et concepts de base<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Je ne récupérerai que peu de code du précédent projet en raison du nombre important de bricolage. J'ai décidé de me rebaser quasi-exclusivement sur le [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT]<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple"|<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 02/02/18</span><br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Tentative de flash sur l’Arduino récupéré par Anthony au fablab, finalement réussi sur Windows.<br />
*Essai de l'exemple "HearthRate Monitor" avec connexion Bluetooth.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Création d'un [https://github.com/SmartMove-PolytechGrenoble/SmartMove dépot Github] se basant sur un Fork du Google Sample et qui aura ensuite pour but d'être intégré dans l'application finale créée par les autres. <br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Continuation de la formation TF Visionnage vidéos, notamment conférence sur deep learning adapté à Tensorflow<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Travail avec Clément pour faire fonctionner l'exemple en BLE sur son début d'appli. finalement fonctionnel en demandant l'utilisation du GPS sur android (Comme le requière la spécification BLE)<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Le GoogleSample se base sur un design [https://developer.android.com/reference/android/support/v7/app/AppCompatActivity.html AppCompat], ce qui n'est pas pratique pour l'intégration. Je me souviens avoir eu le même problème sur [http://air.imag.fr/index.php/UltraTeam UltraTeam]. Je le gèrerai cependant de façon opposée -> Au lieu de passer toute mon application sur le même design, je vais transformer le code pour l'utiliser sans ce Framework.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple"|<br />
<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 2==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 2</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 05/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur le AIR<br />
*Export des taches backlog sur Trello<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Début du code Arduino en partant de l'exemple "HeartRate Monitor"<br />
|<!-- Clément --> style="width: 280px;" |<br />
*L'APK fournie par un clone du [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT] ne trouve pas toujours les périphériques BLE environnants. Début des investigations<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Pas mal de difficultés lors du test, en raison de difficultés de debugging sur l'Arduino.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*L'application fonctionne sans soucis sur les plus anciennes versions d'Android mais semble avoir des soucis à partir d'une certaine version du SDK toujours indéterminée.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
*Étude des problématiques propres à notre projet : Stream de data, Dynamic Time<br />
|-<br />
<br />
<br />
|-<br />
<br />
| rowspan="2" | <span style="color:green">Mardi 06/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Étude avec Vincent d'une application utilisant de la détection de mouvement Tensor Flow sur Android. https://blog.lemberg.co.uk/motion-gesture-detection-using-tensorflow-android<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Avancement du code Arduino.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Résolution du bug. Il faut depuis le SDK 23 une autorisation de localisation pour faire fonctionner le Bluetooth. [https://stackoverflow.com/questions/32708374/bluetooth-le-scanfilters-dont-work-on-android-m Problème et solution détaillée]<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Etude d’un code de reconnaissance de mouvement tensorflow Android, + test, comprendre pour pouvoir modifier en conséquence<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Résolution des problèmes rencontrés la veille (Mauvais initialisation du module gérant les capteurs), puis travail sur l'envoie des données par blutooth.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*le problème a également fait l'objet de plusieurs [https://github.com/googlesamples/android-BluetoothLeGatt/pulls Pull Requests] sur le dépo. Certaines ont été validées mais aucune mergées.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 07/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Cours de management de projets innovants - 4h<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Finalisation du code arduino pour le moment.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Début du travail d'intégration du [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT] en tant qu'activité secondaire<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Étude approfondie des modèles : il faut sûrement utiliser un LSTM <br />
<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Recherches sur les UUID (pour l'arduino).<br />
*Envoie des valeurs depuis l'arduino sous forme binaire (nécessite de séparer les octets des ints)<br />
*Mise sur Git du code arduino.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*La forme choisie est celle d'un [https://stackoverflow.com/questions/1979369/android-activity-as-a-dialog Dialog Activity] pour avoir une interaction ergonomique et user friendly<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 08/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Diverses expérimentations avec le MotionGesture. Installation de Gesture Manager sur mon téléphone et record de quelques mouvemnts sur un seul capteur (ceux du téléphone). <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Application fonctionnelle de façon satisfaisante. Cependant, elle ne gère qu'un serveur [https://www.bluetooth.com/specifications/gatt/generic-attributes-overview BLE GATT] là où un par capteur serait nécessaire. Début des modifications en ce sens.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Beaucoup de travail est reste à effectuer afin de permettre la gestion de plusieurs serveurs en simultanée quand l'application de base ne le gère pas du tout. Une meilleure conception aurait réduit l'impact de ce problème<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 09/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
<br />
*Etude de l'appli MotionGestureDemo https://github.com/ryanchyshyn/motion_gestures_detection/tree/master/MotionGesturesDemo<br />
*L’intérêt de cette appli est qu'elle exécute un modèle Tensorflow. Le code nécessaire a cela est externalisé dans une librairie que nous pourrions éventuellement réutiliser<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Hackathlon<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Travail de transition pour une gestion multi-serveurs. Modification des structures de données et des Callbacks.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Abandon du code trouvé précédemment car le modèle ne nous correspond pas. Reprise d’un code utilisant un modèle LSTM en Tensorflow, qui reconnait l’activité d’une personne (assis, debout, en train de marcher, montant des marches…)<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 3==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 3</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 12/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
<br />
*Recherche de modèle avec Vincent. Expérimentation avec un modèle LSTM : https://medium.com/@curiousily/human-activity-recognition-using-lstms-on-android-tensorflow-for-hackers-part-vi-492da5adef64<br />
*Prise en main de ce code <br />
<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Modification de la [https://developer.android.com/reference/android/app/ListActivity.html ListActivity] pour avoir une sélection [https://www.101apps.co.za/articles/making-a-list-coding-multiple-choice-list-dialogs.html Multi Choice]<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Déchiffrage de codes utilisant un modèle LSTM : cela semble être un bon modèle pour notre cas, à voir les résultats pour des moves assez court.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Cela crée un océan de problèmes de logique en raison de la modification a la volée de la liste lors d'une découverte et du clic sur le bouton menu "Scan/Stop". Après beaucoup de travail sur le Sample je me permet de dire que son design est plus que discutable<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 13/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Fork du modèle LSTM : https://github.com/SmartMove-PolytechGrenoble/TensorFlow-on-Android-for-Human-Activity-Recognition-with-LSTMs <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Suite de la veille<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Modifications du code pour correspondre à notre formattage de données + modification du prétraitement des données<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 14/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Conception de la gestion des entraînements. Entraînements au sens "suite d'activités" que l'utilisateur peut faire et vouloir détecter<br />
*Soutenance mi parcours<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Préparation de la soutenance<br />
*Soutenance mi parcours<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
* Résolution problèmes inconnus Tensorflow<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" | <br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 15/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours gestion<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours gestion<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Absence jusqu'aux vacances pour cause de déménagement<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours gestion<br />
* Test d'entraîner le modèle avec des jeux de données : impossible à faire tourner hardware trop faible.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 16/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Essai tensor flow sur mon CPU <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Faire tourner Tensorflow sur GPU : fonctionne mieux.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 4 (Vacances) ==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 4</span><br />
|-<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">/!\Vacances/!\</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Semaine du 19 au 25 février</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Clément --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Quelques tests sur SensorTag<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 5==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 5</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 26/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours de gestion<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de gestion<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de gestion<br />
*Changement de trajectoire du projet, nous utiliserons désormais des [http://www.ti.com/ww/en/wireless_connectivity/sensortag/ SensorTAG]. Début d'analyse des ressources disponibles afin de voir s'il n'est pas possible d'utiliser un code facile à intégrer<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de gestion<br />
* Début modification du code Android d'évalutation : comptabilisation, du nombre de mouvement, chronométrage.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Solution propriétaire à TI analysée : [http://www.ti.com/tool/ble-stack?DCMP=wbu-blestack&HQS=blestack BLE Stack]<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 27/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (création d'entrainement et sauvegarde)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*La solution fonctionne parfaitement mais ne gère pas le Multi Server GATT. Code trop complexe pour modifications et intégration. Abandon de la solution<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Début modification code enregistrement data. Objectif : labéliser, choisir librement les limites.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 28/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (création d'entrainement et sauvegarde)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Recherche de solution alternative pour la connexion au [http://www.ti.com/ww/en/wireless_connectivity/sensortag/ SensorTAG] avec gestion de multi serveur GATT<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Ajout du support du gyroscope<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Beaucoup de ressources disponibles sur le net fonctionnement en fait avec un Gateway Hardware propriétaire, elles sont donc toutes inutilisables dans notre cas<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 01/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (Visualisation)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Découverte du service [https://github.com/devicehive/android-ble Android BLE] de [https://devicehive.com/ DeviceHive] qui se sert d'un téléphone Android comme Gateway entre plusieurs périphériques BLE et un serveur, répondant à toutes nos contraintes. Exploration et mise en place de cette solution<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Entraînement avec nos propres données : il faut beaucoup de données, avec peu de données la précision est vraiment mauvaise.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Solution un peu complexe d'utilisation et qui ne pourra pas être inclue dans une version en production. Cependant très pratique pour acquérir des jeux de données lors du développement<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 02/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (Visualisation)<br />
* Réunion 2<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Réunion 2<br />
|<!-- Clément --> style="width: 280px;" |<br />
* Solution de [https://devicehive.com/ DeviceHive] fonctionnelle, et découverte d'une nouvelle problématique : La fréquence de notifications des données est de 300 ms, bien trop lent. Pourtant, les [http://www.ti.com/lit/sl/szzy004a/szzy004a.pdf spécifications] de la carte indiquent une fréquence minimale de 100 ms (il est d'ailleurs [https://e2e.ti.com/support/wireless_connectivity/bluetooth_low_energy/f/538/t/385413 apparemment] de flasher l'appareil pour augmenter la fréquence)<br />
* Réunion 2<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Réunion 2<br />
* Récolte de plus de données.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Le problème de fréquence est donc soit lié à DeviceHive soit au téléphone Android. Dans l'immédiat, abandon de la solution DeviceHive pour avoir une version fonctionnelle aussi vite que possible<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 6 (En cours) ==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 6</span><br />
|-<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 05/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*MaJ Air<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Modif learning pour utiliser les nouvelles infos capteurs : gyroscope + accél, Modifications formattage des données (Python)<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 06/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Le vecteur angulaire n'est pas l'information qu'il nous faut mais plutôt la gravité : changement du code, et reprise de la récupération des données.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 07/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* En fait différentes variable pour l'apprentissage n'avaient pas été touchées, il est possible d'avoir de bons résultats avec peu de données.<br />
* Reprise des tests : très bonne précision avec seulement 40 secondes d'entraînement : les mouvements marcher et sauter sont distingués avec une très bonne précision en ligne droite.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 08/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Excusé (TOEIC)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Rectification après tests : il faut bien l'accélération angulaire, je n'ai pas le capteur sur mon téléphone, je reste sur des infos accéléromètre et c'est précis.<br />
* Multiples essais en faisant varier les variables pour l'apprentissage tensorflow.<br />
* Essais et modification du code pour pouvoir faire descendre le nombre de valeur en input assez bas : reconnaître les mouvements de toute durée.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 09/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Tests avec gyroscope (j'ai utilisé le téléphone de Timothée car j'ai pas de gyroscope). Les résultats sont moins bons qu'avec seulement l'accéléromètre. Il faut plus de training. Je cherche comment donner moins d'importance au gyroscope.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 7 (à venir)==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 7</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 12/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
<br />
| rowspan="2" | <span style="color:green">Mardi 13/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 14/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 15/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
<br />
<br />
<br />
|-<br />
<br />
|}</div>
Clement.Rouquier
https://air.imag.fr/index.php?title=RICM5_2017-2018_-_SmartMove&diff=40518
RICM5 2017-2018 - SmartMove
2018-03-09T13:45:09Z
<p>Clement.Rouquier: /* Sprint 5 */</p>
<hr />
<div>=Smart Move=<br />
<br />
Smartmove est un ambitieux projet imaginé par quatre étudiants de [https://www.polytech-grenoble.fr/ Polytech Grenoble]. Smartmove est une approche nouvelle du sport avec l'IoT et l'apprentissage machine.<br />
<br />
[[File:Smart-move_logo.png|300px]]<br />
<br />
=Équipe du projet=<br />
{| class="wikitable"<br />
|-<br />
! scope="col" width="200px" | Membre<br />
! scope="col" | Rôles<br />
|-<br />
|Anthony Geourjon<br />
|Chef de projet<br />
|-<br />
|Timothée Lemaire<br />
|Responsable hardware (black belt thinkpad)<br />
|-<br />
|Clément Rouquier<br />
|Responsable Dofus<br />
|-<br />
|Vincent Turrin<br />
|Batteur<br />
|}<br />
<br />
* Supervisé par : Bernard Tourancheau, Didier Donsez<br />
<br />
=Abstract=<br />
In 2017, two highly innovative domains emerge : the Internet of Things and the Artificial Intelligence and especially the machine learning. These technological advances open new possibilities to imagine new ways to help people. In this project, we present our proposal for the [https://iot.eclipse.org/open-iot-challenge/ Open IoT challenge 4.0] organized by the [https://iot.eclipse.org Eclipse Foundation]. This project is also part of the course of Wireless Sensor Networks given by [http://drakkar.imag.fr/spip.php?auteur70&lang=en Prof. Bernard Tourancheau] at [https://www.polytech-grenoble.fr/ Polytech Grenoble] (Engineering school)<br />
<br />
===Mots clés===<br />
* IoT<br />
* Machine learning,<br />
* Sports<br />
<br />
=Présentation= <br />
<br />
Présentation du projet dans le cadre de l'Eclipse IoT challenge : [https://air.imag.fr/index.php/SmartMove Smartmove]<br />
<br />
=SCRUM=<br />
<br />
Une liste plus actualisé des tâches est disponible sur Trello : https://trello.com/b/RVfoU3gl/smart-move-first-tasks<br />
==Sprint 1 - Du 29/01/18 au 04/02/18 ==<br />
<br />
* Définition des rôles<br />
* Mise en place du projet pour tous les membres du groupe(Trello, Github)<br />
* Création de la page AIR pour la tenue de journal<br />
* Prise de contact avec les enseignants concernés<br />
* Début de la phase de conception <br />
<br />
* Séance de management de projets innovants<br />
** Rédaction d'une [https://docs.google.com/document/d/1nxa09q82hH2rLvTtIoq7b92gYE82TqpXkbv_IgrantQ/edit?usp=sharing fiche synthetique] de présentation du projet<br />
<br />
==Sprint 2 - Du 05/02/18 au 11/02/18 ==<br />
<br />
*Définition des taches et des deadline sur Trello<br />
*Première expérimentation avec différents modèles de machine learning. Nous faisons face à de très nombreuses contraintes comparé aux modèles que nous trouvons sur le net comme :<br />
** Nos données sont un flux continu et non un simple échantillon borné à analyser<br />
** Nous recevons des données de plusieurs capteurs, la synchronisation doit être quasi parfaite pour que les données est un sens.<br />
**Nous avons découvert des applications d'enregistrement de mouvement fonctionnant sur Android. https://blog.lemberg.co.uk/motion-gesture-detection-using-tensorflow-android<br />
* TODO parler de BLE et arduino<br />
* Cours de gestion de projet<br />
<br />
==Sprint 3 - Du 12/02/18 au 18/02/18 ==<br />
* Soutenance de mi parcours le mercredi 14/02 de 10h30-11h avec Didier Donsez et Bernard Tourancheau <br />
** Ils sont satisfait de la direction que prend le projet<br />
** Didier nous propose de remplacer les Arduino par des SensorTag qui seraient plus adaptés à nos besoins.<br />
*Expérimentations avec un modèle de machine learning prometteur (LSTP Long short term memory) https://github.com/SmartMove-PolytechGrenoble/TensorFlow-on-Android-for-Human-Activity-Recognition-with-LSTMs<br />
*Expérimentations d'entrainement de modèle sur nos machines -> problème de config sur GPU <br />
*Cours de gestion de projet<br />
<br />
==Sprint 4 - Du 19/02/18 au 25/02/18 ==<br />
Vacances<br />
<br />
==Sprint 5 - Du 26/02/18 au 04/03/18 ==<br />
<br />
*Premières expérimentations avec le SensorTag malgré les problèmes de piles.<br />
*Travail sur la gestion des entraînements (au sens, action que veut reconnaître l'utilisateur)<br />
*Cours de gestion des risques en projets<br />
*Réunion 1 de suivi avec Didier<br />
**Il est satisfait de nos avancées (communication téléphone/SensorTag, avancement dans le machine learning, etc)<br />
<br />
==Sprint 6 - Du 05/03/18 au 11/03/18 (en cours) ==<br />
*Réunion 2 de suivi avec Didier<br />
*Notre training est disponible en ligne sur https://colab.research.google.com/drive/1u0eh7JCj6yRZqln7Md-eDHJgHbaDcWRC#scrollTo=Izy7oI9P3Pyj. Notre travail est inspiré de ressource trouvé sur github<br />
<br />
==Sprint 7 - Du 12/03/18 au 18/03/18 (prévisions) ==<br />
* Soutenance le jeudi 15/03 de 9h-10h<br />
* Préparation de la soutenance <br />
* Fusion de tous nos applications de développement en un démonstrateur pour la soutenance<br />
<br />
=Journal=<br />
<br />
==Sprint1==<br />
<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
<br />
|-<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 1</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 29/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Récupération du matériel au fablab (Arduino 101)<br />
*Tentative d'un flash d'un exemple sur la carte<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Lecture et compréhension des divers documents produits durant le S9 par les 3 autres membres du projet, un gros travail de conception ayant déjà été effectué en amont de mon arrivée<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
*Impossible de faire marcher quelque chose sur la carte pourtant elle est détecté<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Confrontation de l'idée que m'ont donné les documents de conception avec la vision des autres membres afin d'assurer une divergence de trajectoire aussi faible que possible<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 30/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Tentative d'un flash d'un exemple sur la carte<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*La technologie de communication entre les cartes et le téléphone s'effectuera sur la base du [https://developer.android.com/guide/topics/connectivity/bluetooth-le.html Bluetooth BLE]. Ayant déjà travaillé sur cette technologie sur le projet [http://air.imag.fr/index.php/UltraTeam UltraTeam], je ferai cette partie.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
*Le bootloader de la carte est broken et ne fonctionne depuis Linux, Avec Windows Timothée y arrive facilement<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Le BLE est une technologie qui m'avait donné beaucoup de tord durant le précédent projet et il m'intéresse de m'y remettre dessus. le nombre de ressources disponibles est assez peu limité et les ressources existantes ont généralement été conçues pour du HardWare spécial<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 31/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Analyse du code d'[https://github.com/ultratrail/mobapp2 UltraTeam] pour voir ce qui est récupérable du travail déjà effectué dans le cadre du projet antérieur<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Etude problématique projet<br />
*Formation tensorflow : tuto simple, structure du code et concepts de base<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Je ne récupérerai que peu de code du précédent projet en raison du nombre important de bricolage. J'ai décidé de me rebaser quasi-exclusivement sur le [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT]<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple"|<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 02/02/18</span><br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Tentative de flash sur l’Arduino récupéré par Anthony au fablab, finalement réussi sur Windows.<br />
*Essai de l'exemple "HearthRate Monitor" avec connexion Bluetooth.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Création d'un [https://github.com/SmartMove-PolytechGrenoble/SmartMove dépot Github] se basant sur un Fork du Google Sample et qui aura ensuite pour but d'être intégré dans l'application finale créée par les autres. <br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Continuation de la formation TF Visionnage vidéos, notamment conférence sur deep learning adapté à Tensorflow<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Travail avec Clément pour faire fonctionner l'exemple en BLE sur son début d'appli. finalement fonctionnel en demandant l'utilisation du GPS sur android (Comme le requière la spécification BLE)<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Le GoogleSample se base sur un design [https://developer.android.com/reference/android/support/v7/app/AppCompatActivity.html AppCompat], ce qui n'est pas pratique pour l'intégration. Je me souviens avoir eu le même problème sur [http://air.imag.fr/index.php/UltraTeam UltraTeam]. Je le gèrerai cependant de façon opposée -> Au lieu de passer toute mon application sur le même design, je vais transformer le code pour l'utiliser sans ce Framework.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple"|<br />
<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 2==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 2</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 05/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur le AIR<br />
*Export des taches backlog sur Trello<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Début du code Arduino en partant de l'exemple "HeartRate Monitor"<br />
|<!-- Clément --> style="width: 280px;" |<br />
*L'APK fournie par un clone du [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT] ne trouve pas toujours les périphériques BLE environnants. Début des investigations<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Pas mal de difficultés lors du test, en raison de difficultés de debugging sur l'Arduino.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*L'application fonctionne sans soucis sur les plus anciennes versions d'Android mais semble avoir des soucis à partir d'une certaine version du SDK toujours indéterminée.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
*Étude des problématiques propres à notre projet : Stream de data, Dynamic Time<br />
|-<br />
<br />
<br />
|-<br />
<br />
| rowspan="2" | <span style="color:green">Mardi 06/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Étude avec Vincent d'une application utilisant de la détection de mouvement Tensor Flow sur Android. https://blog.lemberg.co.uk/motion-gesture-detection-using-tensorflow-android<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Avancement du code Arduino.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Résolution du bug. Il faut depuis le SDK 23 une autorisation de localisation pour faire fonctionner le Bluetooth. [https://stackoverflow.com/questions/32708374/bluetooth-le-scanfilters-dont-work-on-android-m Problème et solution détaillée]<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Etude d’un code de reconnaissance de mouvement tensorflow Android, + test, comprendre pour pouvoir modifier en conséquence<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Résolution des problèmes rencontrés la veille (Mauvais initialisation du module gérant les capteurs), puis travail sur l'envoie des données par blutooth.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*le problème a également fait l'objet de plusieurs [https://github.com/googlesamples/android-BluetoothLeGatt/pulls Pull Requests] sur le dépo. Certaines ont été validées mais aucune mergées.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 07/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Cours de management de projets innovants - 4h<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Finalisation du code arduino pour le moment.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Début du travail d'intégration du [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT] en tant qu'activité secondaire<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Étude approfondie des modèles : il faut sûrement utiliser un LSTM <br />
<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Recherches sur les UUID (pour l'arduino).<br />
*Envoie des valeurs depuis l'arduino sous forme binaire (nécessite de séparer les octets des ints)<br />
*Mise sur Git du code arduino.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*La forme choisie est celle d'un [https://stackoverflow.com/questions/1979369/android-activity-as-a-dialog Dialog Activity] pour avoir une interaction ergonomique et user friendly<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 08/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Diverses expérimentations avec le MotionGesture. Installation de Gesture Manager sur mon téléphone et record de quelques mouvemnts sur un seul capteur (ceux du téléphone). <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Application fonctionnelle de façon satisfaisante. Cependant, elle ne gère qu'un serveur [https://www.bluetooth.com/specifications/gatt/generic-attributes-overview BLE GATT] là où un par capteur serait nécessaire. Début des modifications en ce sens.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Beaucoup de travail est reste à effectuer afin de permettre la gestion de plusieurs serveurs en simultanée quand l'application de base ne le gère pas du tout. Une meilleure conception aurait réduit l'impact de ce problème<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 09/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
<br />
*Etude de l'appli MotionGestureDemo https://github.com/ryanchyshyn/motion_gestures_detection/tree/master/MotionGesturesDemo<br />
*L’intérêt de cette appli est qu'elle exécute un modèle Tensorflow. Le code nécessaire a cela est externalisé dans une librairie que nous pourrions éventuellement réutiliser<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Hackathlon<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Travail de transition pour une gestion multi-serveurs. Modification des structures de données et des Callbacks.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Abandon du code trouvé précédemment car le modèle ne nous correspond pas. Reprise d’un code utilisant un modèle LSTM en Tensorflow, qui reconnait l’activité d’une personne (assis, debout, en train de marcher, montant des marches…)<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 3==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 3</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 12/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
<br />
*Recherche de modèle avec Vincent. Expérimentation avec un modèle LSTM : https://medium.com/@curiousily/human-activity-recognition-using-lstms-on-android-tensorflow-for-hackers-part-vi-492da5adef64<br />
*Prise en main de ce code <br />
<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Modification de la [https://developer.android.com/reference/android/app/ListActivity.html ListActivity] pour avoir une sélection [https://www.101apps.co.za/articles/making-a-list-coding-multiple-choice-list-dialogs.html Multi Choice]<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Déchiffrage de codes utilisant un modèle LSTM : cela semble être un bon modèle pour notre cas, à voir les résultats pour des moves assez court.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Cela crée un océan de problèmes de logique en raison de la modification a la volée de la liste lors d'une découverte et du clic sur le bouton menu "Scan/Stop". Après beaucoup de travail sur le Sample je me permet de dire que son design est plus que discutable<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 13/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Fork du modèle LSTM : https://github.com/SmartMove-PolytechGrenoble/TensorFlow-on-Android-for-Human-Activity-Recognition-with-LSTMs <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Suite de la veille<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Modifications du code pour correspondre à notre formattage de données + modification du prétraitement des données<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 14/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Conception de la gestion des entraînements. Entraînements au sens "suite d'activités" que l'utilisateur peut faire et vouloir détecter<br />
*Soutenance mi parcours<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Préparation de la soutenance<br />
*Soutenance mi parcours<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
* Résolution problèmes inconnus Tensorflow<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" | <br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 15/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours gestion<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours gestion<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Absence jusqu'aux vacances pour cause de déménagement<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours gestion<br />
* Test d'entraîner le modèle avec des jeux de données : impossible à faire tourner hardware trop faible.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 16/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Essai tensor flow sur mon CPU <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Faire tourner Tensorflow sur GPU : fonctionne mieux.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 4 (Vacances) ==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 4</span><br />
|-<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">/!\Vacances/!\</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Semaine du 19 au 25 février</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Clément --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Quelques tests sur SensorTag<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 5==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 5</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 26/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours de gestion<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de gestion<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de gestion<br />
*Changement de trajectoire du projet, nous utiliserons désormais des [http://www.ti.com/ww/en/wireless_connectivity/sensortag/ SensorTAG]. Début d'analyse des ressources disponibles afin de voir s'il n'est pas possible d'utiliser un code facile à intégrer<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de gestion<br />
* Début modification du code Android d'évalutation : comptabilisation, du nombre de mouvement, chronométrage.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Solution propriétaire à TI analysée : [http://www.ti.com/tool/ble-stack?DCMP=wbu-blestack&HQS=blestack BLE Stack]<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 27/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (création d'entrainement et sauvegarde)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*La solution fonctionne parfaitement mais ne gère pas le Multi Server GATT. Code trop complexe pour modifications et intégration. Abandon de la solution<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Début modification code enregistrement data. Objectif : labéliser, choisir librement les limites.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 28/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (création d'entrainement et sauvegarde)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Recherche de solution alternative pour la connexion au [http://www.ti.com/ww/en/wireless_connectivity/sensortag/ SensorTAG] avec gestion de multi serveur GATT<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Ajout du support du gyroscope<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Beaucoup de ressources disponibles sur le net fonctionnement en fait avec un Gateway Hardware propriétaire, elles sont donc toutes inutilisables dans notre cas<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 01/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (Visualisation)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Découverte du service [https://github.com/devicehive/android-ble Android BLE] de [https://devicehive.com/ DeviceHive] qui se sert d'un téléphone Android comme Gateway entre plusieurs périphériques BLE et un serveur, répondant à toutes nos contraintes. Exploration de cette solution<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Entraînement avec nos propres données : il faut beaucoup de données, avec peu de données la précision est vraiment mauvaise.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 02/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (Visualisation)<br />
* Réunion 2<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Réunion 2<br />
|<!-- Clément --> style="width: 280px;" |<br />
* Réunion 2<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Réunion 2<br />
* Récolte de plus de données.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 6 (En cours) ==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 6</span><br />
|-<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 05/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*MaJ Air<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Modif learning pour utiliser les nouvelles infos capteurs : gyroscope + accél, Modifications formattage des données (Python)<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 06/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Le vecteur angulaire n'est pas l'information qu'il nous faut mais plutôt la gravité : changement du code, et reprise de la récupération des données.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 07/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* En fait différentes variable pour l'apprentissage n'avaient pas été touchées, il est possible d'avoir de bons résultats avec peu de données.<br />
* Reprise des tests : très bonne précision avec seulement 40 secondes d'entraînement : les mouvements marcher et sauter sont distingués avec une très bonne précision en ligne droite.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 08/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Excusé (TOEIC)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Rectification après tests : il faut bien l'accélération angulaire, je n'ai pas le capteur sur mon téléphone, je reste sur des infos accéléromètre et c'est précis.<br />
* Multiples essais en faisant varier les variables pour l'apprentissage tensorflow.<br />
* Essais et modification du code pour pouvoir faire descendre le nombre de valeur en input assez bas : reconnaître les mouvements de toute durée.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 09/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 7 (à venir)==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 7</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 12/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
<br />
| rowspan="2" | <span style="color:green">Mardi 13/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 14/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 15/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
<br />
<br />
<br />
|-<br />
<br />
|}</div>
Clement.Rouquier
https://air.imag.fr/index.php?title=RICM5_2017-2018_-_SmartMove&diff=40515
RICM5 2017-2018 - SmartMove
2018-03-09T13:30:58Z
<p>Clement.Rouquier: /* Sprint 5 */</p>
<hr />
<div>=Smart Move=<br />
<br />
Smartmove est un ambitieux projet imaginé par quatre étudiants de [https://www.polytech-grenoble.fr/ Polytech Grenoble]. Smartmove est une approche nouvelle du sport avec l'IoT et l'apprentissage machine.<br />
<br />
[[File:Smart-move_logo.png|300px]]<br />
<br />
=Équipe du projet=<br />
{| class="wikitable"<br />
|-<br />
! scope="col" width="200px" | Membre<br />
! scope="col" | Rôles<br />
|-<br />
|Anthony Geourjon<br />
|Chef de projet<br />
|-<br />
|Timothée Lemaire<br />
|Responsable hardware (black belt thinkpad)<br />
|-<br />
|Clément Rouquier<br />
|Responsable Dofus<br />
|-<br />
|Vincent Turrin<br />
|Batteur<br />
|}<br />
<br />
* Supervisé par : Bernard Tourancheau, Didier Donsez<br />
<br />
=Abstract=<br />
In 2017, two highly innovative domains emerge : the Internet of Things and the Artificial Intelligence and especially the machine learning. These technological advances open new possibilities to imagine new ways to help people. In this project, we present our proposal for the [https://iot.eclipse.org/open-iot-challenge/ Open IoT challenge 4.0] organized by the [https://iot.eclipse.org Eclipse Foundation]. This project is also part of the course of Wireless Sensor Networks given by [http://drakkar.imag.fr/spip.php?auteur70&lang=en Prof. Bernard Tourancheau] at [https://www.polytech-grenoble.fr/ Polytech Grenoble] (Engineering school)<br />
<br />
===Mots clés===<br />
* IoT<br />
* Machine learning,<br />
* Sports<br />
<br />
=Présentation= <br />
<br />
Présentation du projet dans le cadre de l'Eclipse IoT challenge : [https://air.imag.fr/index.php/SmartMove Smartmove]<br />
<br />
=SCRUM=<br />
<br />
Une liste plus actualisé des tâches est disponible sur Trello : https://trello.com/b/RVfoU3gl/smart-move-first-tasks<br />
==Sprint 1 - Du 29/01/18 au 04/02/18 ==<br />
<br />
* Définition des rôles<br />
* Mise en place du projet pour tous les membres du groupe(Trello, Github)<br />
* Création de la page AIR pour la tenue de journal<br />
* Prise de contact avec les enseignants concernés<br />
* Début de la phase de conception <br />
<br />
* Séance de management de projets innovants<br />
** Rédaction d'une [https://docs.google.com/document/d/1nxa09q82hH2rLvTtIoq7b92gYE82TqpXkbv_IgrantQ/edit?usp=sharing fiche synthetique] de présentation du projet<br />
<br />
==Sprint 2 - Du 05/02/18 au 11/02/18 ==<br />
<br />
*Définition des taches et des deadline sur Trello<br />
*Première expérimentation avec différents modèles de machine learning. Nous faisons face à de très nombreuses contraintes comparé aux modèles que nous trouvons sur le net comme :<br />
** Nos données sont un flux continu et non un simple échantillon borné à analyser<br />
** Nous recevons des données de plusieurs capteurs, la synchronisation doit être quasi parfaite pour que les données est un sens.<br />
**Nous avons découvert des applications d'enregistrement de mouvement fonctionnant sur Android. https://blog.lemberg.co.uk/motion-gesture-detection-using-tensorflow-android<br />
* TODO parler de BLE et arduino<br />
* Cours de gestion de projet<br />
<br />
==Sprint 3 - Du 12/02/18 au 18/02/18 ==<br />
* Soutenance de mi parcours le mercredi 14/02 de 10h30-11h avec Didier Donsez et Bernard Tourancheau <br />
** Ils sont satisfait de la direction que prend le projet<br />
** Didier nous propose de remplacer les Arduino par des SensorTag qui seraient plus adaptés à nos besoins.<br />
*Expérimentations avec un modèle de machine learning prometteur (LSTP Long short term memory) https://github.com/SmartMove-PolytechGrenoble/TensorFlow-on-Android-for-Human-Activity-Recognition-with-LSTMs<br />
*Expérimentations d'entrainement de modèle sur nos machines -> problème de config sur GPU <br />
*Cours de gestion de projet<br />
<br />
==Sprint 4 - Du 19/02/18 au 25/02/18 ==<br />
Vacances<br />
<br />
==Sprint 5 - Du 26/02/18 au 04/03/18 ==<br />
<br />
*Premières expérimentations avec le SensorTag malgré les problèmes de piles.<br />
*Travail sur la gestion des entraînements (au sens, action que veut reconnaître l'utilisateur)<br />
*Cours de gestion des risques en projets<br />
*Réunion 1 de suivi avec Didier<br />
**Il est satisfait de nos avancées (communication téléphone/SensorTag, avancement dans le machine learning, etc)<br />
<br />
==Sprint 6 - Du 05/03/18 au 11/03/18 (en cours) ==<br />
*Réunion 2 de suivi avec Didier<br />
*Notre training est disponible en ligne sur https://colab.research.google.com/drive/1u0eh7JCj6yRZqln7Md-eDHJgHbaDcWRC#scrollTo=Izy7oI9P3Pyj. Notre travail est inspiré de ressource trouvé sur github<br />
<br />
==Sprint 7 - Du 12/03/18 au 18/03/18 (prévisions) ==<br />
* Soutenance le jeudi 15/03 de 9h-10h<br />
* Préparation de la soutenance <br />
* Fusion de tous nos applications de développement en un démonstrateur pour la soutenance<br />
<br />
=Journal=<br />
<br />
==Sprint1==<br />
<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
<br />
|-<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 1</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 29/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Récupération du matériel au fablab (Arduino 101)<br />
*Tentative d'un flash d'un exemple sur la carte<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Lecture et compréhension des divers documents produits durant le S9 par les 3 autres membres du projet, un gros travail de conception ayant déjà été effectué en amont de mon arrivée<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
*Impossible de faire marcher quelque chose sur la carte pourtant elle est détecté<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Confrontation de l'idée que m'ont donné les documents de conception avec la vision des autres membres afin d'assurer une divergence de trajectoire aussi faible que possible<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 30/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Tentative d'un flash d'un exemple sur la carte<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*La technologie de communication entre les cartes et le téléphone s'effectuera sur la base du [https://developer.android.com/guide/topics/connectivity/bluetooth-le.html Bluetooth BLE]. Ayant déjà travaillé sur cette technologie sur le projet [http://air.imag.fr/index.php/UltraTeam UltraTeam], je ferai cette partie.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
*Le bootloader de la carte est broken et ne fonctionne depuis Linux, Avec Windows Timothée y arrive facilement<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Le BLE est une technologie qui m'avait donné beaucoup de tord durant le précédent projet et il m'intéresse de m'y remettre dessus. le nombre de ressources disponibles est assez peu limité et les ressources existantes ont généralement été conçues pour du HardWare spécial<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 31/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Analyse du code d'[https://github.com/ultratrail/mobapp2 UltraTeam] pour voir ce qui est récupérable du travail déjà effectué dans le cadre du projet antérieur<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Etude problématique projet<br />
*Formation tensorflow : tuto simple, structure du code et concepts de base<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Je ne récupérerai que peu de code du précédent projet en raison du nombre important de bricolage. J'ai décidé de me rebaser quasi-exclusivement sur le [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT]<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple"|<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 02/02/18</span><br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Tentative de flash sur l’Arduino récupéré par Anthony au fablab, finalement réussi sur Windows.<br />
*Essai de l'exemple "HearthRate Monitor" avec connexion Bluetooth.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Création d'un [https://github.com/SmartMove-PolytechGrenoble/SmartMove dépot Github] se basant sur un Fork du Google Sample et qui aura ensuite pour but d'être intégré dans l'application finale créée par les autres. <br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Continuation de la formation TF Visionnage vidéos, notamment conférence sur deep learning adapté à Tensorflow<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Travail avec Clément pour faire fonctionner l'exemple en BLE sur son début d'appli. finalement fonctionnel en demandant l'utilisation du GPS sur android (Comme le requière la spécification BLE)<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Le GoogleSample se base sur un design [https://developer.android.com/reference/android/support/v7/app/AppCompatActivity.html AppCompat], ce qui n'est pas pratique pour l'intégration. Je me souviens avoir eu le même problème sur [http://air.imag.fr/index.php/UltraTeam UltraTeam]. Je le gèrerai cependant de façon opposée -> Au lieu de passer toute mon application sur le même design, je vais transformer le code pour l'utiliser sans ce Framework.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple"|<br />
<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 2==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 2</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 05/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur le AIR<br />
*Export des taches backlog sur Trello<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Début du code Arduino en partant de l'exemple "HeartRate Monitor"<br />
|<!-- Clément --> style="width: 280px;" |<br />
*L'APK fournie par un clone du [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT] ne trouve pas toujours les périphériques BLE environnants. Début des investigations<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Pas mal de difficultés lors du test, en raison de difficultés de debugging sur l'Arduino.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*L'application fonctionne sans soucis sur les plus anciennes versions d'Android mais semble avoir des soucis à partir d'une certaine version du SDK toujours indéterminée.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
*Étude des problématiques propres à notre projet : Stream de data, Dynamic Time<br />
|-<br />
<br />
<br />
|-<br />
<br />
| rowspan="2" | <span style="color:green">Mardi 06/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Étude avec Vincent d'une application utilisant de la détection de mouvement Tensor Flow sur Android. https://blog.lemberg.co.uk/motion-gesture-detection-using-tensorflow-android<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Avancement du code Arduino.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Résolution du bug. Il faut depuis le SDK 23 une autorisation de localisation pour faire fonctionner le Bluetooth. [https://stackoverflow.com/questions/32708374/bluetooth-le-scanfilters-dont-work-on-android-m Problème et solution détaillée]<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Etude d’un code de reconnaissance de mouvement tensorflow Android, + test, comprendre pour pouvoir modifier en conséquence<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Résolution des problèmes rencontrés la veille (Mauvais initialisation du module gérant les capteurs), puis travail sur l'envoie des données par blutooth.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*le problème a également fait l'objet de plusieurs [https://github.com/googlesamples/android-BluetoothLeGatt/pulls Pull Requests] sur le dépo. Certaines ont été validées mais aucune mergées.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 07/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Cours de management de projets innovants - 4h<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Finalisation du code arduino pour le moment.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Début du travail d'intégration du [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT] en tant qu'activité secondaire<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Étude approfondie des modèles : il faut sûrement utiliser un LSTM <br />
<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Recherches sur les UUID (pour l'arduino).<br />
*Envoie des valeurs depuis l'arduino sous forme binaire (nécessite de séparer les octets des ints)<br />
*Mise sur Git du code arduino.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*La forme choisie est celle d'un [https://stackoverflow.com/questions/1979369/android-activity-as-a-dialog Dialog Activity] pour avoir une interaction ergonomique et user friendly<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 08/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Diverses expérimentations avec le MotionGesture. Installation de Gesture Manager sur mon téléphone et record de quelques mouvemnts sur un seul capteur (ceux du téléphone). <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Application fonctionnelle de façon satisfaisante. Cependant, elle ne gère qu'un serveur [https://www.bluetooth.com/specifications/gatt/generic-attributes-overview BLE GATT] là où un par capteur serait nécessaire. Début des modifications en ce sens.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Beaucoup de travail est reste à effectuer afin de permettre la gestion de plusieurs serveurs en simultanée quand l'application de base ne le gère pas du tout. Une meilleure conception aurait réduit l'impact de ce problème<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 09/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
<br />
*Etude de l'appli MotionGestureDemo https://github.com/ryanchyshyn/motion_gestures_detection/tree/master/MotionGesturesDemo<br />
*L’intérêt de cette appli est qu'elle exécute un modèle Tensorflow. Le code nécessaire a cela est externalisé dans une librairie que nous pourrions éventuellement réutiliser<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Hackathlon<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Travail de transition pour une gestion multi-serveurs. Modification des structures de données et des Callbacks.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Abandon du code trouvé précédemment car le modèle ne nous correspond pas. Reprise d’un code utilisant un modèle LSTM en Tensorflow, qui reconnait l’activité d’une personne (assis, debout, en train de marcher, montant des marches…)<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 3==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 3</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 12/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
<br />
*Recherche de modèle avec Vincent. Expérimentation avec un modèle LSTM : https://medium.com/@curiousily/human-activity-recognition-using-lstms-on-android-tensorflow-for-hackers-part-vi-492da5adef64<br />
*Prise en main de ce code <br />
<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Modification de la [https://developer.android.com/reference/android/app/ListActivity.html ListActivity] pour avoir une sélection [https://www.101apps.co.za/articles/making-a-list-coding-multiple-choice-list-dialogs.html Multi Choice]<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Déchiffrage de codes utilisant un modèle LSTM : cela semble être un bon modèle pour notre cas, à voir les résultats pour des moves assez court.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Cela crée un océan de problèmes de logique en raison de la modification a la volée de la liste lors d'une découverte et du clic sur le bouton menu "Scan/Stop". Après beaucoup de travail sur le Sample je me permet de dire que son design est plus que discutable<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 13/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Fork du modèle LSTM : https://github.com/SmartMove-PolytechGrenoble/TensorFlow-on-Android-for-Human-Activity-Recognition-with-LSTMs <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Suite de la veille<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Modifications du code pour correspondre à notre formattage de données + modification du prétraitement des données<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 14/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Conception de la gestion des entraînements. Entraînements au sens "suite d'activités" que l'utilisateur peut faire et vouloir détecter<br />
*Soutenance mi parcours<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Préparation de la soutenance<br />
*Soutenance mi parcours<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
* Résolution problèmes inconnus Tensorflow<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" | <br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 15/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours gestion<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours gestion<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Absence jusqu'aux vacances pour cause de déménagement<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours gestion<br />
* Test d'entraîner le modèle avec des jeux de données : impossible à faire tourner hardware trop faible.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 16/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Essai tensor flow sur mon CPU <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Faire tourner Tensorflow sur GPU : fonctionne mieux.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 4 (Vacances) ==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 4</span><br />
|-<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">/!\Vacances/!\</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Semaine du 19 au 25 février</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Clément --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Quelques tests sur SensorTag<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 5==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 5</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 26/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours de gestion<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de gestion<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de gestion<br />
*Changement de trajectoire du projet, nous utiliserons désormais des [http://www.ti.com/ww/en/wireless_connectivity/sensortag/ SensorTAG]. Début d'analyse des ressources disponibles afin de voir s'il n'est pas possible d'utiliser un code facile à intégrer<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de gestion<br />
* Début modification du code Android d'évalutation : comptabilisation, du nombre de mouvement, chronométrage.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Solution propriétaire à TI analysée : [http://www.ti.com/tool/ble-stack?DCMP=wbu-blestack&HQS=blestack BLE Stack]<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 27/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (création d'entrainement et sauvegarde)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*La solution fonctionne parfaitement mais ne gère pas le Multi Server GATT. Code trop complexe pour modifications et intégration. Abandon de la solution<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Début modification code enregistrement data. Objectif : labéliser, choisir librement les limites.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 28/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (création d'entrainement et sauvegarde)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Recherche de solution alternative pour la connexion au [http://www.ti.com/ww/en/wireless_connectivity/sensortag/ SensorTAG] avec gestion de multi serveur GATT<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Ajout du support du gyroscope<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Beaucoup de ressources disponibles sur le net fonctionnement en fait avec un Gateway Hardware propriétaire, elles sont donc toutes inutilisables dans notre cas<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 01/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (Visualisation)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Entraînement avec nos propres données : il faut beaucoup de données, avec peu de données la précision est vraiment mauvaise.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 02/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (Visualisation)<br />
* Réunion 2<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Réunion 2<br />
|<!-- Clément --> style="width: 280px;" |<br />
* Réunion 2<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Réunion 2<br />
* Récolte de plus de données.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 6 (En cours) ==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 6</span><br />
|-<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 05/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*MaJ Air<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Modif learning pour utiliser les nouvelles infos capteurs : gyroscope + accél, Modifications formattage des données (Python)<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 06/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Le vecteur angulaire n'est pas l'information qu'il nous faut mais plutôt la gravité : changement du code, et reprise de la récupération des données.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 07/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* En fait différentes variable pour l'apprentissage n'avaient pas été touchées, il est possible d'avoir de bons résultats avec peu de données.<br />
* Reprise des tests : très bonne précision avec seulement 40 secondes d'entraînement : les mouvements marcher et sauter sont distingués avec une très bonne précision en ligne droite.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 08/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Excusé (TOEIC)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Rectification après tests : il faut bien l'accélération angulaire, je n'ai pas le capteur sur mon téléphone, je reste sur des infos accéléromètre et c'est précis.<br />
* Multiples essais en faisant varier les variables pour l'apprentissage tensorflow.<br />
* Essais et modification du code pour pouvoir faire descendre le nombre de valeur en input assez bas : reconnaître les mouvements de toute durée.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 09/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 7 (à venir)==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 7</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 12/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
<br />
| rowspan="2" | <span style="color:green">Mardi 13/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 14/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 15/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
<br />
<br />
<br />
|-<br />
<br />
|}</div>
Clement.Rouquier
https://air.imag.fr/index.php?title=RICM5_2017-2018_-_SmartMove&diff=40508
RICM5 2017-2018 - SmartMove
2018-03-09T12:37:47Z
<p>Clement.Rouquier: /* Sprint 3 */</p>
<hr />
<div>=Smart Move=<br />
<br />
Smartmove est un ambitieux projet imaginé par quatre étudiants de [https://www.polytech-grenoble.fr/ Polytech Grenoble]. Smartmove est une approche nouvelle du sport avec l'IoT et l'apprentissage machine.<br />
<br />
[[File:Smart-move_logo.png|300px]]<br />
<br />
=Équipe du projet=<br />
{| class="wikitable"<br />
|-<br />
! scope="col" width="200px" | Membre<br />
! scope="col" | Rôles<br />
|-<br />
|Anthony Geourjon<br />
|Chef de projet<br />
|-<br />
|Timothée Lemaire<br />
|Responsable hardware (black belt thinkpad)<br />
|-<br />
|Clément Rouquier<br />
|Responsable Dofus<br />
|-<br />
|Vincent Turrin<br />
|Batteur<br />
|}<br />
<br />
* Supervisé par : Bernard Tourancheau, Didier Donsez<br />
<br />
=Abstract=<br />
In 2017, two highly innovative domains emerge : the Internet of Things and the Artificial Intelligence and especially the machine learning. These technological advances open new possibilities to imagine new ways to help people. In this project, we present our proposal for the [https://iot.eclipse.org/open-iot-challenge/ Open IoT challenge 4.0] organized by the [https://iot.eclipse.org Eclipse Foundation]. This project is also part of the course of Wireless Sensor Networks given by [http://drakkar.imag.fr/spip.php?auteur70&lang=en Prof. Bernard Tourancheau] at [https://www.polytech-grenoble.fr/ Polytech Grenoble] (Engineering school)<br />
<br />
===Mots clés===<br />
* IoT<br />
* Machine learning,<br />
* Sports<br />
<br />
=Présentation= <br />
<br />
Présentation du projet dans le cadre de l'Eclipse IoT challenge : [https://air.imag.fr/index.php/SmartMove Smartmove]<br />
<br />
=SCRUM=<br />
<br />
Une liste plus actualisé des tâches est disponible sur Trello : https://trello.com/b/RVfoU3gl/smart-move-first-tasks<br />
==Sprint 1 - Du 29/01/18 au 04/02/18 ==<br />
<br />
* Définition des rôles<br />
* Mise en place du projet pour tous les membres du groupe(Trello, Github)<br />
* Création de la page AIR pour la tenue de journal<br />
* Prise de contact avec les enseignants concernés<br />
* Début de la phase de conception <br />
<br />
* Séance de management de projets innovants<br />
** Rédaction d'une [https://docs.google.com/document/d/1nxa09q82hH2rLvTtIoq7b92gYE82TqpXkbv_IgrantQ/edit?usp=sharing fiche synthetique] de présentation du projet<br />
<br />
==Sprint 2 - Du 05/02/18 au 11/02/18 ==<br />
<br />
*Définition des taches et des deadline sur Trello<br />
*Première expérimentation avec différents modèles de machine learning. Nous faisons face à de très nombreuses contraintes comparé aux modèles que nous trouvons sur le net comme :<br />
** Nos données sont un flux continu et non un simple échantillon borné à analyser<br />
** Nous recevons des données de plusieurs capteurs, la synchronisation doit être quasi parfaite pour que les données est un sens.<br />
**Nous avons découvert des applications d'enregistrement de mouvement fonctionnant sur Android. https://blog.lemberg.co.uk/motion-gesture-detection-using-tensorflow-android<br />
* TODO parler de BLE et arduino<br />
* Cours de gestion de projet<br />
<br />
==Sprint 3 - Du 12/02/18 au 18/02/18 ==<br />
* Soutenance de mi parcours le mercredi 14/02 de 10h30-11h avec Didier Donsez et Bernard Tourancheau <br />
** Ils sont satisfait de la direction que prend le projet<br />
** Didier nous propose de remplacer les Arduino par des SensorTag qui seraient plus adaptés à nos besoins.<br />
*Expérimentations avec un modèle de machine learning prometteur (LSTP Long short term memory) https://github.com/SmartMove-PolytechGrenoble/TensorFlow-on-Android-for-Human-Activity-Recognition-with-LSTMs<br />
*Expérimentations d'entrainement de modèle sur nos machines -> problème de config sur GPU <br />
*Cours de gestion de projet<br />
<br />
==Sprint 4 - Du 19/02/18 au 25/02/18 ==<br />
Vacances<br />
<br />
==Sprint 5 - Du 26/02/18 au 04/03/18 ==<br />
<br />
*Premières expérimentations avec le SensorTag malgré les problèmes de piles.<br />
*Travail sur la gestion des entraînements (au sens, action que veut reconnaître l'utilisateur)<br />
*Cours de gestion des risques en projets<br />
*Réunion 1 de suivi avec Didier<br />
**Il est satisfait de nos avancées (communication téléphone/SensorTag, avancement dans le machine learning, etc)<br />
<br />
==Sprint 6 - Du 05/03/18 au 11/03/18 (en cours) ==<br />
*Réunion 2 de suivi avec Didier<br />
<br />
==Sprint 7 - Du 12/03/18 au 18/03/18 (prévisions) ==<br />
* Soutenance le jeudi 15/03 de 9h-10h<br />
* Préparation de la soutenance <br />
* Fusion de tous nos applications de développement en un démonstrateur pour la soutenance<br />
<br />
=Journal=<br />
<br />
==Sprint1==<br />
<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
<br />
|-<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 1</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 29/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Récupération du matériel au fablab (Arduino 101)<br />
*Tentative d'un flash d'un exemple sur la carte<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Lecture et compréhension des divers documents produits durant le S9 par les 3 autres membres du projet, un gros travail de conception ayant déjà été effectué en amont de mon arrivée<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
*Impossible de faire marcher quelque chose sur la carte pourtant elle est détecté<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Confrontation de l'idée que m'ont donné les documents de conception avec la vision des autres membres afin d'assurer une divergence de trajectoire aussi faible que possible<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 30/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Tentative d'un flash d'un exemple sur la carte<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*La technologie de communication entre les cartes et le téléphone s'effectuera sur la base du [https://developer.android.com/guide/topics/connectivity/bluetooth-le.html Bluetooth BLE]. Ayant déjà travaillé sur cette technologie sur le projet [http://air.imag.fr/index.php/UltraTeam UltraTeam], je ferai cette partie.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
*Le bootloader de la carte est broken et ne fonctionne depuis Linux, Avec Windows Timothée y arrive facilement<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Le BLE est une technologie qui m'avait donné beaucoup de tord durant le précédent projet et il m'intéresse de m'y remettre dessus. le nombre de ressources disponibles est assez peu limité et les ressources existantes ont généralement été conçues pour du HardWare spécial<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 31/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Analyse du code d'[https://github.com/ultratrail/mobapp2 UltraTeam] pour voir ce qui est récupérable du travail déjà effectué dans le cadre du projet antérieur<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Etude problématique projet<br />
*Formation tensorflow : tuto simple, structure du code et concepts de base<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Je ne récupérerai que peu de code du précédent projet en raison du nombre important de bricolage. J'ai décidé de me rebaser quasi-exclusivement sur le [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT]<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple"|<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 02/02/18</span><br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Tentative de flash sur l’Arduino récupéré par Anthony au fablab, finalement réussi sur Windows.<br />
*Essai de l'exemple "HearthRate Monitor" avec connexion Bluetooth.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Création d'un [https://github.com/SmartMove-PolytechGrenoble/SmartMove dépot Github] se basant sur un Fork du Google Sample et qui aura ensuite pour but d'être intégré dans l'application finale créée par les autres. <br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Continuation de la formation TF Visionnage vidéos, notamment conférence sur deep learning adapté à Tensorflow<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Travail avec Clément pour faire fonctionner l'exemple en BLE sur son début d'appli. finalement fonctionnel en demandant l'utilisation du GPS sur android (Comme le requière la spécification BLE)<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Le GoogleSample se base sur un design [https://developer.android.com/reference/android/support/v7/app/AppCompatActivity.html AppCompat], ce qui n'est pas pratique pour l'intégration. Je me souviens avoir eu le même problème sur [http://air.imag.fr/index.php/UltraTeam UltraTeam]. Je le gèrerai cependant de façon opposée -> Au lieu de passer toute mon application sur le même design, je vais transformer le code pour l'utiliser sans ce Framework.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple"|<br />
<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 2==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 2</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 05/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur le AIR<br />
*Export des taches backlog sur Trello<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Début du code Arduino en partant de l'exemple "HeartRate Monitor"<br />
|<!-- Clément --> style="width: 280px;" |<br />
*L'APK fournie par un clone du [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT] ne trouve pas toujours les périphériques BLE environnants. Début des investigations<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Pas mal de difficultés lors du test, en raison de difficultés de debugging sur l'Arduino.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*L'application fonctionne sans soucis sur les plus anciennes versions d'Android mais semble avoir des soucis à partir d'une certaine version du SDK toujours indéterminée.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
*Étude des problématiques propres à notre projet : Stream de data, Dynamic Time<br />
|-<br />
<br />
<br />
|-<br />
<br />
| rowspan="2" | <span style="color:green">Mardi 06/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Étude avec Vincent d'une application utilisant de la détection de mouvement Tensor Flow sur Android. https://blog.lemberg.co.uk/motion-gesture-detection-using-tensorflow-android<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Avancement du code Arduino.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Résolution du bug. Il faut depuis le SDK 23 une autorisation de localisation pour faire fonctionner le Bluetooth. [https://stackoverflow.com/questions/32708374/bluetooth-le-scanfilters-dont-work-on-android-m Problème et solution détaillée]<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Etude d’un code de reconnaissance de mouvement tensorflow Android, + test, comprendre pour pouvoir modifier en conséquence<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Résolution des problèmes rencontrés la veille (Mauvais initialisation du module gérant les capteurs), puis travail sur l'envoie des données par blutooth.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*le problème a également fait l'objet de plusieurs [https://github.com/googlesamples/android-BluetoothLeGatt/pulls Pull Requests] sur le dépo. Certaines ont été validées mais aucune mergées.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 07/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Cours de management de projets innovants - 4h<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Finalisation du code arduino pour le moment.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Début du travail d'intégration du [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT] en tant qu'activité secondaire<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Étude approfondie des modèles : il faut sûrement utiliser un LSTM <br />
<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Recherches sur les UUID (pour l'arduino).<br />
*Envoie des valeurs depuis l'arduino sous forme binaire (nécessite de séparer les octets des ints)<br />
*Mise sur Git du code arduino.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*La forme choisie est celle d'un [https://stackoverflow.com/questions/1979369/android-activity-as-a-dialog Dialog Activity] pour avoir une interaction ergonomique et user friendly<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 08/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Diverses expérimentations avec le MotionGesture. Installation de Gesture Manager sur mon téléphone et record de quelques mouvemnts sur un seul capteur (ceux du téléphone). <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Application fonctionnelle de façon satisfaisante. Cependant, elle ne gère qu'un serveur [https://www.bluetooth.com/specifications/gatt/generic-attributes-overview BLE GATT] là où un par capteur serait nécessaire. Début des modifications en ce sens.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Beaucoup de travail est reste à effectuer afin de permettre la gestion de plusieurs serveurs en simultanée quand l'application de base ne le gère pas du tout. Une meilleure conception aurait réduit l'impact de ce problème<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 09/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
<br />
*Etude de l'appli MotionGestureDemo https://github.com/ryanchyshyn/motion_gestures_detection/tree/master/MotionGesturesDemo<br />
*L’intérêt de cette appli est qu'elle exécute un modèle Tensorflow. Le code nécessaire a cela est externalisé dans une librairie que nous pourrions éventuellement réutiliser<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Hackathlon<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Travail de transition pour une gestion multi-serveurs. Modification des structures de données et des Callbacks.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Abandon du code trouvé précédemment car le modèle ne nous correspond pas. Reprise d’un code utilisant un modèle LSTM en Tensorflow, qui reconnait l’activité d’une personne (assis, debout, en train de marcher, montant des marches…)<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 3==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 3</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 12/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
<br />
*Recherche de modèle avec Vincent. Expérimentation avec un modèle LSTM : https://medium.com/@curiousily/human-activity-recognition-using-lstms-on-android-tensorflow-for-hackers-part-vi-492da5adef64<br />
*Prise en main de ce code <br />
<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Modification de la [https://developer.android.com/reference/android/app/ListActivity.html ListActivity] pour avoir une sélection [https://www.101apps.co.za/articles/making-a-list-coding-multiple-choice-list-dialogs.html Multi Choice]<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Déchiffrage de codes utilisant un modèle LSTM : cela semble être un bon modèle pour notre cas, à voir les résultats pour des moves assez court.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Cela crée un océan de problèmes de logique en raison de la modification a la volée de la liste lors d'une découverte et du clic sur le bouton menu "Scan/Stop". Après beaucoup de travail sur le Sample je me permet de dire que son design est plus que discutable<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 13/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Fork du modèle LSTM : https://github.com/SmartMove-PolytechGrenoble/TensorFlow-on-Android-for-Human-Activity-Recognition-with-LSTMs <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Suite de la veille<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Modifications du code pour correspondre à notre formattage de données + modification du prétraitement des données<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 14/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Conception de la gestion des entraînements. Entraînements au sens "suite d'activités" que l'utilisateur peut faire et vouloir détecter<br />
*Soutenance mi parcours<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Préparation de la soutenance<br />
*Soutenance mi parcours<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
* Résolution problèmes inconnus Tensorflow<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" | <br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 15/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours gestion<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours gestion<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Absence jusqu'aux vacances pour cause de déménagement<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours gestion<br />
* Test d'entraîner le modèle avec des jeux de données : impossible à faire tourner hardware trop faible.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 16/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Essai tensor flow sur mon CPU <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Faire tourner Tensorflow sur GPU : fonctionne mieux.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 4 (Vacances) ==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 4</span><br />
|-<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">/!\Vacances/!\</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Semaine du 19 au 25 février</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Clément --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Quelques tests sur SensorTag<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 5==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 5</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 26/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours de gestion<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de gestion<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de gestion<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de gestion<br />
* Début modification du code Android d'évalutation : comptabilisation, du nombre de mouvement, chronométrage.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 27/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (création d'entrainement et sauvegarde)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Début modification code enregistrement data. Objectif : labéliser, choisir librement les limites.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 28/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (création d'entrainement et sauvegarde)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Ajout du support du gyroscope<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 01/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (Visualisation)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Entraînement avec nos propres données : il faut beaucoup de données, avec peu de données la précision est vraiment mauvaise.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 02/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (Visualisation)<br />
* Réunion 2<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Réunion 2<br />
|<!-- Clément --> style="width: 280px;" |<br />
* Réunion 2<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Réunion 2<br />
* Récolte de plus de données.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 6 (En cours) ==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 6</span><br />
|-<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 05/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*MaJ Air<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Modif learning pour utiliser les nouvelles infos capteurs : gyroscope + accél, Modifications formattage des données (Python)<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 06/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Le vecteur angulaire n'est pas l'information qu'il nous faut mais plutôt la gravité : changement du code, et reprise de la récupération des données.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 07/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* En fait différentes variable pour l'apprentissage n'avaient pas été touchées, il est possible d'avoir de bons résultats avec peu de données.<br />
* Reprise des tests : très bonne précision avec seulement 40 secondes d'entraînement : les mouvements marcher et sauter sont distingués avec une très bonne précision en ligne droite.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 08/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Excusé (TOEIC)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Rectification après tests : il faut bien l'accélération angulaire, je n'ai pas le capteur sur mon téléphone, je reste sur des infos accéléromètre et c'est précis.<br />
* Multiples essais en faisant varier les variables pour l'apprentissage tensorflow.<br />
* Essais et modification du code pour pouvoir faire descendre le nombre de valeur en input assez bas : reconnaître les mouvements de toute durée.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 09/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 7 (à venir)==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 7</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 12/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
<br />
| rowspan="2" | <span style="color:green">Mardi 13/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 14/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 15/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
<br />
<br />
<br />
|-<br />
<br />
|}</div>
Clement.Rouquier
https://air.imag.fr/index.php?title=RICM5_2017-2018_-_SmartMove&diff=40506
RICM5 2017-2018 - SmartMove
2018-03-09T12:35:31Z
<p>Clement.Rouquier: /* Sprint 3 */</p>
<hr />
<div>=Smart Move=<br />
<br />
Smartmove est un ambitieux projet imaginé par quatre étudiants de [https://www.polytech-grenoble.fr/ Polytech Grenoble]. Smartmove est une approche nouvelle du sport avec l'IoT et l'apprentissage machine.<br />
<br />
[[File:Smart-move_logo.png|300px]]<br />
<br />
=Équipe du projet=<br />
{| class="wikitable"<br />
|-<br />
! scope="col" width="200px" | Membre<br />
! scope="col" | Rôles<br />
|-<br />
|Anthony Geourjon<br />
|Chef de projet<br />
|-<br />
|Timothée Lemaire<br />
|Responsable hardware (black belt thinkpad)<br />
|-<br />
|Clément Rouquier<br />
|Responsable Dofus<br />
|-<br />
|Vincent Turrin<br />
|Batteur<br />
|}<br />
<br />
* Supervisé par : Bernard Tourancheau, Didier Donsez<br />
<br />
=Abstract=<br />
In 2017, two highly innovative domains emerge : the Internet of Things and the Artificial Intelligence and especially the machine learning. These technological advances open new possibilities to imagine new ways to help people. In this project, we present our proposal for the [https://iot.eclipse.org/open-iot-challenge/ Open IoT challenge 4.0] organized by the [https://iot.eclipse.org Eclipse Foundation]. This project is also part of the course of Wireless Sensor Networks given by [http://drakkar.imag.fr/spip.php?auteur70&lang=en Prof. Bernard Tourancheau] at [https://www.polytech-grenoble.fr/ Polytech Grenoble] (Engineering school)<br />
<br />
===Mots clés===<br />
* IoT<br />
* Machine learning,<br />
* Sports<br />
<br />
=Présentation= <br />
<br />
Présentation du projet dans le cadre de l'Eclipse IoT challenge : [https://air.imag.fr/index.php/SmartMove Smartmove]<br />
<br />
=SCRUM=<br />
<br />
Une liste plus actualisé des tâches est disponible sur Trello : https://trello.com/b/RVfoU3gl/smart-move-first-tasks<br />
==Sprint 1 - Du 29/01/18 au 04/02/18 ==<br />
<br />
* Définition des rôles<br />
* Mise en place du projet pour tous les membres du groupe(Trello, Github)<br />
* Création de la page AIR pour la tenue de journal<br />
* Prise de contact avec les enseignants concernés<br />
* Début de la phase de conception <br />
<br />
* Séance de management de projets innovants<br />
** Rédaction d'une [https://docs.google.com/document/d/1nxa09q82hH2rLvTtIoq7b92gYE82TqpXkbv_IgrantQ/edit?usp=sharing fiche synthetique] de présentation du projet<br />
<br />
==Sprint 2 - Du 05/02/18 au 11/02/18 ==<br />
<br />
*Définition des taches et des deadline sur Trello<br />
*Première expérimentation avec différents modèles de machine learning. Nous faisons face à de très nombreuses contraintes comparé aux modèles que nous trouvons sur le net comme :<br />
** Nos données sont un flux continu et non un simple échantillon borné à analyser<br />
** Nous recevons des données de plusieurs capteurs, la synchronisation doit être quasi parfaite pour que les données est un sens.<br />
**Nous avons découvert des applications d'enregistrement de mouvement fonctionnant sur Android. https://blog.lemberg.co.uk/motion-gesture-detection-using-tensorflow-android<br />
* TODO parler de BLE et arduino<br />
* Cours de gestion de projet<br />
<br />
==Sprint 3 - Du 12/02/18 au 18/02/18 ==<br />
* Soutenance de mi parcours le mercredi 14/02 de 10h30-11h avec Didier Donsez et Bernard Tourancheau <br />
** Ils sont satisfait de la direction que prend le projet<br />
** Didier nous propose de remplacer les Arduino par des SensorTag qui seraient plus adaptés à nos besoins.<br />
*Expérimentations avec un modèle de machine learning prometteur (LSTP Long short term memory) https://github.com/SmartMove-PolytechGrenoble/TensorFlow-on-Android-for-Human-Activity-Recognition-with-LSTMs<br />
*Expérimentations d'entrainement de modèle sur nos machines -> problème de config sur GPU <br />
*Cours de gestion de projet<br />
<br />
==Sprint 4 - Du 19/02/18 au 25/02/18 ==<br />
Vacances<br />
<br />
==Sprint 5 - Du 26/02/18 au 04/03/18 ==<br />
<br />
*Premières expérimentations avec le SensorTag malgré les problèmes de piles.<br />
*Travail sur la gestion des entraînements (au sens, action que veut reconnaître l'utilisateur)<br />
*Cours de gestion des risques en projets<br />
*Réunion 1 de suivi avec Didier<br />
**Il est satisfait de nos avancées (communication téléphone/SensorTag, avancement dans le machine learning, etc)<br />
<br />
==Sprint 6 - Du 05/03/18 au 11/03/18 (en cours) ==<br />
*Réunion 2 de suivi avec Didier<br />
<br />
==Sprint 7 - Du 12/03/18 au 18/03/18 (prévisions) ==<br />
* Soutenance le jeudi 15/03 de 9h-10h<br />
* Préparation de la soutenance <br />
* Fusion de tous nos applications de développement en un démonstrateur pour la soutenance<br />
<br />
=Journal=<br />
<br />
==Sprint1==<br />
<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
<br />
|-<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 1</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 29/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Récupération du matériel au fablab (Arduino 101)<br />
*Tentative d'un flash d'un exemple sur la carte<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Lecture et compréhension des divers documents produits durant le S9 par les 3 autres membres du projet, un gros travail de conception ayant déjà été effectué en amont de mon arrivée<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
*Impossible de faire marcher quelque chose sur la carte pourtant elle est détecté<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Confrontation de l'idée que m'ont donné les documents de conception avec la vision des autres membres afin d'assurer une divergence de trajectoire aussi faible que possible<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 30/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Tentative d'un flash d'un exemple sur la carte<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*La technologie de communication entre les cartes et le téléphone s'effectuera sur la base du [https://developer.android.com/guide/topics/connectivity/bluetooth-le.html Bluetooth BLE]. Ayant déjà travaillé sur cette technologie sur le projet [http://air.imag.fr/index.php/UltraTeam UltraTeam], je ferai cette partie.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
*Le bootloader de la carte est broken et ne fonctionne depuis Linux, Avec Windows Timothée y arrive facilement<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Le BLE est une technologie qui m'avait donné beaucoup de tord durant le précédent projet et il m'intéresse de m'y remettre dessus. le nombre de ressources disponibles est assez peu limité et les ressources existantes ont généralement été conçues pour du HardWare spécial<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 31/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Analyse du code d'[https://github.com/ultratrail/mobapp2 UltraTeam] pour voir ce qui est récupérable du travail déjà effectué dans le cadre du projet antérieur<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Etude problématique projet<br />
*Formation tensorflow : tuto simple, structure du code et concepts de base<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Je ne récupérerai que peu de code du précédent projet en raison du nombre important de bricolage. J'ai décidé de me rebaser quasi-exclusivement sur le [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT]<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple"|<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 02/02/18</span><br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Tentative de flash sur l’Arduino récupéré par Anthony au fablab, finalement réussi sur Windows.<br />
*Essai de l'exemple "HearthRate Monitor" avec connexion Bluetooth.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Création d'un [https://github.com/SmartMove-PolytechGrenoble/SmartMove dépot Github] se basant sur un Fork du Google Sample et qui aura ensuite pour but d'être intégré dans l'application finale créée par les autres. <br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Continuation de la formation TF Visionnage vidéos, notamment conférence sur deep learning adapté à Tensorflow<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Travail avec Clément pour faire fonctionner l'exemple en BLE sur son début d'appli. finalement fonctionnel en demandant l'utilisation du GPS sur android (Comme le requière la spécification BLE)<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Le GoogleSample se base sur un design [https://developer.android.com/reference/android/support/v7/app/AppCompatActivity.html AppCompat], ce qui n'est pas pratique pour l'intégration. Je me souviens avoir eu le même problème sur [http://air.imag.fr/index.php/UltraTeam UltraTeam]. Je le gèrerai cependant de façon opposée -> Au lieu de passer toute mon application sur le même design, je vais transformer le code pour l'utiliser sans ce Framework.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple"|<br />
<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 2==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 2</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 05/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur le AIR<br />
*Export des taches backlog sur Trello<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Début du code Arduino en partant de l'exemple "HeartRate Monitor"<br />
|<!-- Clément --> style="width: 280px;" |<br />
*L'APK fournie par un clone du [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT] ne trouve pas toujours les périphériques BLE environnants. Début des investigations<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Pas mal de difficultés lors du test, en raison de difficultés de debugging sur l'Arduino.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*L'application fonctionne sans soucis sur les plus anciennes versions d'Android mais semble avoir des soucis à partir d'une certaine version du SDK toujours indéterminée.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
*Étude des problématiques propres à notre projet : Stream de data, Dynamic Time<br />
|-<br />
<br />
<br />
|-<br />
<br />
| rowspan="2" | <span style="color:green">Mardi 06/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Étude avec Vincent d'une application utilisant de la détection de mouvement Tensor Flow sur Android. https://blog.lemberg.co.uk/motion-gesture-detection-using-tensorflow-android<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Avancement du code Arduino.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Résolution du bug. Il faut depuis le SDK 23 une autorisation de localisation pour faire fonctionner le Bluetooth. [https://stackoverflow.com/questions/32708374/bluetooth-le-scanfilters-dont-work-on-android-m Problème et solution détaillée]<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Etude d’un code de reconnaissance de mouvement tensorflow Android, + test, comprendre pour pouvoir modifier en conséquence<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Résolution des problèmes rencontrés la veille (Mauvais initialisation du module gérant les capteurs), puis travail sur l'envoie des données par blutooth.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*le problème a également fait l'objet de plusieurs [https://github.com/googlesamples/android-BluetoothLeGatt/pulls Pull Requests] sur le dépo. Certaines ont été validées mais aucune mergées.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 07/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Cours de management de projets innovants - 4h<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Finalisation du code arduino pour le moment.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Début du travail d'intégration du [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT] en tant qu'activité secondaire<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Étude approfondie des modèles : il faut sûrement utiliser un LSTM <br />
<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Recherches sur les UUID (pour l'arduino).<br />
*Envoie des valeurs depuis l'arduino sous forme binaire (nécessite de séparer les octets des ints)<br />
*Mise sur Git du code arduino.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*La forme choisie est celle d'un [https://stackoverflow.com/questions/1979369/android-activity-as-a-dialog Dialog Activity] pour avoir une interaction ergonomique et user friendly<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 08/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Diverses expérimentations avec le MotionGesture. Installation de Gesture Manager sur mon téléphone et record de quelques mouvemnts sur un seul capteur (ceux du téléphone). <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Application fonctionnelle de façon satisfaisante. Cependant, elle ne gère qu'un serveur [https://www.bluetooth.com/specifications/gatt/generic-attributes-overview BLE GATT] là où un par capteur serait nécessaire. Début des modifications en ce sens.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Beaucoup de travail est reste à effectuer afin de permettre la gestion de plusieurs serveurs en simultanée quand l'application de base ne le gère pas du tout. Une meilleure conception aurait réduit l'impact de ce problème<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 09/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
<br />
*Etude de l'appli MotionGestureDemo https://github.com/ryanchyshyn/motion_gestures_detection/tree/master/MotionGesturesDemo<br />
*L’intérêt de cette appli est qu'elle exécute un modèle Tensorflow. Le code nécessaire a cela est externalisé dans une librairie que nous pourrions éventuellement réutiliser<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Hackathlon<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Travail de transition pour une gestion multi-serveurs. Modification des structures de données et des Callbacks.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Abandon du code trouvé précédemment car le modèle ne nous correspond pas. Reprise d’un code utilisant un modèle LSTM en Tensorflow, qui reconnait l’activité d’une personne (assis, debout, en train de marcher, montant des marches…)<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 3==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 3</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 12/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
<br />
*Recherche de modèle avec Vincent. Expérimentation avec un modèle LSTM : https://medium.com/@curiousily/human-activity-recognition-using-lstms-on-android-tensorflow-for-hackers-part-vi-492da5adef64<br />
*Prise en main de ce code <br />
<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Modification de la [https://developer.android.com/reference/android/app/ListActivity.html ListActivity] pour avoir une sélection [https://www.101apps.co.za/articles/making-a-list-coding-multiple-choice-list-dialogs.html Multi Choice]<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Déchiffrage de codes utilisant un modèle LSTM : cela semble être un bon modèle pour notre cas, à voir les résultats pour des moves assez court.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Cela crée un océan de problèmes de logique en raison de la modification a la volée de la liste lors d'une découverte et du clic sur le bouton menu "Scan/Stop". Après beaucoup de travail sur le Sample je me permet de dire que son design est plus que discutable<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 13/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Fork du modèle LSTM : https://github.com/SmartMove-PolytechGrenoble/TensorFlow-on-Android-for-Human-Activity-Recognition-with-LSTMs <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Suite de la veille<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Modifications du code pour correspondre à notre formattage de données + modification du prétraitement des données<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 14/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Conception de la gestion des entraînements. Entraînements au sens "suite d'activités" que l'utilisateur peut faire et vouloir détecter<br />
*Soutenance mi parcours<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
* Résolution problèmes inconnus Tensorflow<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" | <br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 15/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours gestion<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours gestion<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours gestion<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours gestion<br />
* Test d'entraîner le modèle avec des jeux de données : impossible à faire tourner hardware trop faible.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 16/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Essai tensor flow sur mon CPU <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Faire tourner Tensorflow sur GPU : fonctionne mieux.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 4 (Vacances) ==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 4</span><br />
|-<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">/!\Vacances/!\</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Semaine du 19 au 25 février</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Clément --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Quelques tests sur SensorTag<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 5==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 5</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 26/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours de gestion<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de gestion<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de gestion<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de gestion<br />
* Début modification du code Android d'évalutation : comptabilisation, du nombre de mouvement, chronométrage.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 27/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (création d'entrainement et sauvegarde)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Début modification code enregistrement data. Objectif : labéliser, choisir librement les limites.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 28/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (création d'entrainement et sauvegarde)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Ajout du support du gyroscope<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 01/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (Visualisation)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Entraînement avec nos propres données : il faut beaucoup de données, avec peu de données la précision est vraiment mauvaise.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 02/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (Visualisation)<br />
* Réunion 2<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Réunion 2<br />
|<!-- Clément --> style="width: 280px;" |<br />
* Réunion 2<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Réunion 2<br />
* Récolte de plus de données.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 6 (En cours) ==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 6</span><br />
|-<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 05/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*MaJ Air<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Modif learning pour utiliser les nouvelles infos capteurs : gyroscope + accél, Modifications formattage des données (Python)<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 06/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Le vecteur angulaire n'est pas l'information qu'il nous faut mais plutôt la gravité : changement du code, et reprise de la récupération des données.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 07/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* En fait différentes variable pour l'apprentissage n'avaient pas été touchées, il est possible d'avoir de bons résultats avec peu de données.<br />
* Reprise des tests : très bonne précision avec seulement 40 secondes d'entraînement : les mouvements marcher et sauter sont distingués avec une très bonne précision en ligne droite.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 08/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Excusé (TOEIC)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Rectification après tests : il faut bien l'accélération angulaire, je n'ai pas le capteur sur mon téléphone, je reste sur des infos accéléromètre et c'est précis.<br />
* Multiples essais en faisant varier les variables pour l'apprentissage tensorflow.<br />
* Essais et modification du code pour pouvoir faire descendre le nombre de valeur en input assez bas : reconnaître les mouvements de toute durée.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 09/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 7 (à venir)==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 7</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 12/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
<br />
| rowspan="2" | <span style="color:green">Mardi 13/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 14/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 15/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
<br />
<br />
<br />
|-<br />
<br />
|}</div>
Clement.Rouquier
https://air.imag.fr/index.php?title=RICM5_2017-2018_-_SmartMove&diff=40505
RICM5 2017-2018 - SmartMove
2018-03-09T12:29:34Z
<p>Clement.Rouquier: /* Sprint 3 */</p>
<hr />
<div>=Smart Move=<br />
<br />
Smartmove est un ambitieux projet imaginé par quatre étudiants de [https://www.polytech-grenoble.fr/ Polytech Grenoble]. Smartmove est une approche nouvelle du sport avec l'IoT et l'apprentissage machine.<br />
<br />
[[File:Smart-move_logo.png|300px]]<br />
<br />
=Équipe du projet=<br />
{| class="wikitable"<br />
|-<br />
! scope="col" width="200px" | Membre<br />
! scope="col" | Rôles<br />
|-<br />
|Anthony Geourjon<br />
|Chef de projet<br />
|-<br />
|Timothée Lemaire<br />
|Responsable hardware (black belt thinkpad)<br />
|-<br />
|Clément Rouquier<br />
|Responsable Dofus<br />
|-<br />
|Vincent Turrin<br />
|Batteur<br />
|}<br />
<br />
* Supervisé par : Bernard Tourancheau, Didier Donsez<br />
<br />
=Abstract=<br />
In 2017, two highly innovative domains emerge : the Internet of Things and the Artificial Intelligence and especially the machine learning. These technological advances open new possibilities to imagine new ways to help people. In this project, we present our proposal for the [https://iot.eclipse.org/open-iot-challenge/ Open IoT challenge 4.0] organized by the [https://iot.eclipse.org Eclipse Foundation]. This project is also part of the course of Wireless Sensor Networks given by [http://drakkar.imag.fr/spip.php?auteur70&lang=en Prof. Bernard Tourancheau] at [https://www.polytech-grenoble.fr/ Polytech Grenoble] (Engineering school)<br />
<br />
===Mots clés===<br />
* IoT<br />
* Machine learning,<br />
* Sports<br />
<br />
=Présentation= <br />
<br />
Présentation du projet dans le cadre de l'Eclipse IoT challenge : [https://air.imag.fr/index.php/SmartMove Smartmove]<br />
<br />
=SCRUM=<br />
<br />
Une liste plus actualisé des tâches est disponible sur Trello : https://trello.com/b/RVfoU3gl/smart-move-first-tasks<br />
==Sprint 1 - Du 29/01/18 au 04/02/18 ==<br />
<br />
* Définition des rôles<br />
* Mise en place du projet pour tous les membres du groupe(Trello, Github)<br />
* Création de la page AIR pour la tenue de journal<br />
* Prise de contact avec les enseignants concernés<br />
* Début de la phase de conception <br />
<br />
* Séance de management de projets innovants<br />
** Rédaction d'une [https://docs.google.com/document/d/1nxa09q82hH2rLvTtIoq7b92gYE82TqpXkbv_IgrantQ/edit?usp=sharing fiche synthetique] de présentation du projet<br />
<br />
==Sprint 2 - Du 05/02/18 au 11/02/18 ==<br />
<br />
*Définition des taches et des deadline sur Trello<br />
*Première expérimentation avec différents modèles de machine learning. Nous faisons face à de très nombreuses contraintes comparé aux modèles que nous trouvons sur le net comme :<br />
** Nos données sont un flux continu et non un simple échantillon borné à analyser<br />
** Nous recevons des données de plusieurs capteurs, la synchronisation doit être quasi parfaite pour que les données est un sens.<br />
**Nous avons découvert des applications d'enregistrement de mouvement fonctionnant sur Android. https://blog.lemberg.co.uk/motion-gesture-detection-using-tensorflow-android<br />
* TODO parler de BLE et arduino<br />
* Cours de gestion de projet<br />
<br />
==Sprint 3 - Du 12/02/18 au 18/02/18 ==<br />
* Soutenance de mi parcours le mercredi 14/02 de 10h30-11h avec Didier Donsez et Bernard Tourancheau <br />
** Ils sont satisfait de la direction que prend le projet<br />
** Didier nous propose de remplacer les Arduino par des SensorTag qui seraient plus adaptés à nos besoins.<br />
*Expérimentations avec un modèle de machine learning prometteur (LSTP Long short term memory) https://github.com/SmartMove-PolytechGrenoble/TensorFlow-on-Android-for-Human-Activity-Recognition-with-LSTMs<br />
*Expérimentations d'entrainement de modèle sur nos machines -> problème de config sur GPU <br />
*Cours de gestion de projet<br />
<br />
==Sprint 4 - Du 19/02/18 au 25/02/18 ==<br />
Vacances<br />
<br />
==Sprint 5 - Du 26/02/18 au 04/03/18 ==<br />
<br />
*Premières expérimentations avec le SensorTag malgré les problèmes de piles.<br />
*Travail sur la gestion des entraînements (au sens, action que veut reconnaître l'utilisateur)<br />
*Cours de gestion des risques en projets<br />
*Réunion 1 de suivi avec Didier<br />
**Il est satisfait de nos avancées (communication téléphone/SensorTag, avancement dans le machine learning, etc)<br />
<br />
==Sprint 6 - Du 05/03/18 au 11/03/18 (en cours) ==<br />
*Réunion 2 de suivi avec Didier<br />
<br />
==Sprint 7 - Du 12/03/18 au 18/03/18 (prévisions) ==<br />
* Soutenance le jeudi 15/03 de 9h-10h<br />
* Préparation de la soutenance <br />
* Fusion de tous nos applications de développement en un démonstrateur pour la soutenance<br />
<br />
=Journal=<br />
<br />
==Sprint1==<br />
<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
<br />
|-<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 1</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 29/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Récupération du matériel au fablab (Arduino 101)<br />
*Tentative d'un flash d'un exemple sur la carte<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Lecture et compréhension des divers documents produits durant le S9 par les 3 autres membres du projet, un gros travail de conception ayant déjà été effectué en amont de mon arrivée<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
*Impossible de faire marcher quelque chose sur la carte pourtant elle est détecté<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Confrontation de l'idée que m'ont donné les documents de conception avec la vision des autres membres afin d'assurer une divergence de trajectoire aussi faible que possible<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 30/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Tentative d'un flash d'un exemple sur la carte<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*La technologie de communication entre les cartes et le téléphone s'effectuera sur la base du [https://developer.android.com/guide/topics/connectivity/bluetooth-le.html Bluetooth BLE]. Ayant déjà travaillé sur cette technologie sur le projet [http://air.imag.fr/index.php/UltraTeam UltraTeam], je ferai cette partie.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
*Le bootloader de la carte est broken et ne fonctionne depuis Linux, Avec Windows Timothée y arrive facilement<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Le BLE est une technologie qui m'avait donné beaucoup de tord durant le précédent projet et il m'intéresse de m'y remettre dessus. le nombre de ressources disponibles est assez peu limité et les ressources existantes ont généralement été conçues pour du HardWare spécial<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 31/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Analyse du code d'[https://github.com/ultratrail/mobapp2 UltraTeam] pour voir ce qui est récupérable du travail déjà effectué dans le cadre du projet antérieur<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Etude problématique projet<br />
*Formation tensorflow : tuto simple, structure du code et concepts de base<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Je ne récupérerai que peu de code du précédent projet en raison du nombre important de bricolage. J'ai décidé de me rebaser quasi-exclusivement sur le [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT]<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple"|<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 02/02/18</span><br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Tentative de flash sur l’Arduino récupéré par Anthony au fablab, finalement réussi sur Windows.<br />
*Essai de l'exemple "HearthRate Monitor" avec connexion Bluetooth.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Création d'un [https://github.com/SmartMove-PolytechGrenoble/SmartMove dépot Github] se basant sur un Fork du Google Sample et qui aura ensuite pour but d'être intégré dans l'application finale créée par les autres. <br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Continuation de la formation TF Visionnage vidéos, notamment conférence sur deep learning adapté à Tensorflow<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Travail avec Clément pour faire fonctionner l'exemple en BLE sur son début d'appli. finalement fonctionnel en demandant l'utilisation du GPS sur android (Comme le requière la spécification BLE)<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Le GoogleSample se base sur un design [https://developer.android.com/reference/android/support/v7/app/AppCompatActivity.html AppCompat], ce qui n'est pas pratique pour l'intégration. Je me souviens avoir eu le même problème sur [http://air.imag.fr/index.php/UltraTeam UltraTeam]. Je le gèrerai cependant de façon opposée -> Au lieu de passer toute mon application sur le même design, je vais transformer le code pour l'utiliser sans ce Framework.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple"|<br />
<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 2==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 2</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 05/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur le AIR<br />
*Export des taches backlog sur Trello<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Début du code Arduino en partant de l'exemple "HeartRate Monitor"<br />
|<!-- Clément --> style="width: 280px;" |<br />
*L'APK fournie par un clone du [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT] ne trouve pas toujours les périphériques BLE environnants. Début des investigations<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Pas mal de difficultés lors du test, en raison de difficultés de debugging sur l'Arduino.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*L'application fonctionne sans soucis sur les plus anciennes versions d'Android mais semble avoir des soucis à partir d'une certaine version du SDK toujours indéterminée.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
*Étude des problématiques propres à notre projet : Stream de data, Dynamic Time<br />
|-<br />
<br />
<br />
|-<br />
<br />
| rowspan="2" | <span style="color:green">Mardi 06/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Étude avec Vincent d'une application utilisant de la détection de mouvement Tensor Flow sur Android. https://blog.lemberg.co.uk/motion-gesture-detection-using-tensorflow-android<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Avancement du code Arduino.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Résolution du bug. Il faut depuis le SDK 23 une autorisation de localisation pour faire fonctionner le Bluetooth. [https://stackoverflow.com/questions/32708374/bluetooth-le-scanfilters-dont-work-on-android-m Problème et solution détaillée]<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Etude d’un code de reconnaissance de mouvement tensorflow Android, + test, comprendre pour pouvoir modifier en conséquence<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Résolution des problèmes rencontrés la veille (Mauvais initialisation du module gérant les capteurs), puis travail sur l'envoie des données par blutooth.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*le problème a également fait l'objet de plusieurs [https://github.com/googlesamples/android-BluetoothLeGatt/pulls Pull Requests] sur le dépo. Certaines ont été validées mais aucune mergées.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 07/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Cours de management de projets innovants - 4h<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Finalisation du code arduino pour le moment.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Début du travail d'intégration du [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT] en tant qu'activité secondaire<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Étude approfondie des modèles : il faut sûrement utiliser un LSTM <br />
<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Recherches sur les UUID (pour l'arduino).<br />
*Envoie des valeurs depuis l'arduino sous forme binaire (nécessite de séparer les octets des ints)<br />
*Mise sur Git du code arduino.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*La forme choisie est celle d'un [https://stackoverflow.com/questions/1979369/android-activity-as-a-dialog Dialog Activity] pour avoir une interaction ergonomique et user friendly<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 08/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Diverses expérimentations avec le MotionGesture. Installation de Gesture Manager sur mon téléphone et record de quelques mouvemnts sur un seul capteur (ceux du téléphone). <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Application fonctionnelle de façon satisfaisante. Cependant, elle ne gère qu'un serveur [https://www.bluetooth.com/specifications/gatt/generic-attributes-overview BLE GATT] là où un par capteur serait nécessaire. Début des modifications en ce sens.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Beaucoup de travail est reste à effectuer afin de permettre la gestion de plusieurs serveurs en simultanée quand l'application de base ne le gère pas du tout. Une meilleure conception aurait réduit l'impact de ce problème<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 09/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
<br />
*Etude de l'appli MotionGestureDemo https://github.com/ryanchyshyn/motion_gestures_detection/tree/master/MotionGesturesDemo<br />
*L’intérêt de cette appli est qu'elle exécute un modèle Tensorflow. Le code nécessaire a cela est externalisé dans une librairie que nous pourrions éventuellement réutiliser<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Hackathlon<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Travail de transition pour une gestion multi-serveurs. Modification des structures de données et des Callbacks.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Abandon du code trouvé précédemment car le modèle ne nous correspond pas. Reprise d’un code utilisant un modèle LSTM en Tensorflow, qui reconnait l’activité d’une personne (assis, debout, en train de marcher, montant des marches…)<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 3==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 3</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 12/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
<br />
*Recherche de modèle avec Vincent. Expérimentation avec un modèle LSTM : https://medium.com/@curiousily/human-activity-recognition-using-lstms-on-android-tensorflow-for-hackers-part-vi-492da5adef64<br />
*Prise en main de ce code <br />
<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Modification de la [https://developer.android.com/reference/android/app/ListActivity.html ListActivity] pour avoir une sélection [https://www.101apps.co.za/articles/making-a-list-coding-multiple-choice-list-dialogs.html Multi Choice]<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Déchiffrage de codes utilisant un modèle LSTM : cela semble être un bon modèle pour notre cas, à voir les résultats pour des moves assez court.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Cela crée un océan de problèmes de logique en raison de la modification a la volée de la liste lors d'une découverte et du clic sur le bouton menu "Scan/Stop". Après beaucoup de travail sur le Sample je me permet de dire que son design est plus que discutable<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 13/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Fork du modèle LSTM : https://github.com/SmartMove-PolytechGrenoble/TensorFlow-on-Android-for-Human-Activity-Recognition-with-LSTMs <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Modifications du code pour correspondre à notre formattage de données + modification du prétraitement des données<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 14/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Conception de la gestion des entraînements. Entraînements au sens "suite d'activités" que l'utilisateur peut faire et vouloir détecter<br />
*Soutenance mi parcours<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
* Résolution problèmes inconnus Tensorflow<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" | <br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 15/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours gestion<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours gestion<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours gestion<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours gestion<br />
* Test d'entraîner le modèle avec des jeux de données : impossible à faire tourner hardware trop faible.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 16/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Essai tensor flow sur mon CPU <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Faire tourner Tensorflow sur GPU : fonctionne mieux.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 4 (Vacances) ==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 4</span><br />
|-<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">/!\Vacances/!\</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Semaine du 19 au 25 février</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Clément --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Quelques tests sur SensorTag<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 5==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 5</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 26/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours de gestion<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de gestion<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de gestion<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de gestion<br />
* Début modification du code Android d'évalutation : comptabilisation, du nombre de mouvement, chronométrage.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 27/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (création d'entrainement et sauvegarde)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Début modification code enregistrement data. Objectif : labéliser, choisir librement les limites.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 28/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (création d'entrainement et sauvegarde)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Ajout du support du gyroscope<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 01/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (Visualisation)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Entraînement avec nos propres données : il faut beaucoup de données, avec peu de données la précision est vraiment mauvaise.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 02/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (Visualisation)<br />
* Réunion 2<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Réunion 2<br />
|<!-- Clément --> style="width: 280px;" |<br />
* Réunion 2<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Réunion 2<br />
* Récolte de plus de données.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 6 (En cours) ==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 6</span><br />
|-<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 05/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*MaJ Air<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Modif learning pour utiliser les nouvelles infos capteurs : gyroscope + accél, Modifications formattage des données (Python)<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 06/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Le vecteur angulaire n'est pas l'information qu'il nous faut mais plutôt la gravité : changement du code, et reprise de la récupération des données.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 07/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* En fait différentes variable pour l'apprentissage n'avaient pas été touchées, il est possible d'avoir de bons résultats avec peu de données.<br />
* Reprise des tests : très bonne précision avec seulement 40 secondes d'entraînement : les mouvements marcher et sauter sont distingués avec une très bonne précision en ligne droite.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 08/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Excusé (TOEIC)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Rectification après tests : il faut bien l'accélération angulaire, je n'ai pas le capteur sur mon téléphone, je reste sur des infos accéléromètre et c'est précis.<br />
* Multiples essais en faisant varier les variables pour l'apprentissage tensorflow.<br />
* Essais et modification du code pour pouvoir faire descendre le nombre de valeur en input assez bas : reconnaître les mouvements de toute durée.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 09/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 7 (à venir)==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 7</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 12/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
<br />
| rowspan="2" | <span style="color:green">Mardi 13/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 14/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 15/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
<br />
<br />
<br />
|-<br />
<br />
|}</div>
Clement.Rouquier
https://air.imag.fr/index.php?title=RICM5_2017-2018_-_SmartMove&diff=40504
RICM5 2017-2018 - SmartMove
2018-03-09T12:24:12Z
<p>Clement.Rouquier: /* Sprint 2 */</p>
<hr />
<div>=Smart Move=<br />
<br />
Smartmove est un ambitieux projet imaginé par quatre étudiants de [https://www.polytech-grenoble.fr/ Polytech Grenoble]. Smartmove est une approche nouvelle du sport avec l'IoT et l'apprentissage machine.<br />
<br />
[[File:Smart-move_logo.png|300px]]<br />
<br />
=Équipe du projet=<br />
{| class="wikitable"<br />
|-<br />
! scope="col" width="200px" | Membre<br />
! scope="col" | Rôles<br />
|-<br />
|Anthony Geourjon<br />
|Chef de projet<br />
|-<br />
|Timothée Lemaire<br />
|Responsable hardware (black belt thinkpad)<br />
|-<br />
|Clément Rouquier<br />
|Responsable Dofus<br />
|-<br />
|Vincent Turrin<br />
|Batteur<br />
|}<br />
<br />
* Supervisé par : Bernard Tourancheau, Didier Donsez<br />
<br />
=Abstract=<br />
In 2017, two highly innovative domains emerge : the Internet of Things and the Artificial Intelligence and especially the machine learning. These technological advances open new possibilities to imagine new ways to help people. In this project, we present our proposal for the [https://iot.eclipse.org/open-iot-challenge/ Open IoT challenge 4.0] organized by the [https://iot.eclipse.org Eclipse Foundation]. This project is also part of the course of Wireless Sensor Networks given by [http://drakkar.imag.fr/spip.php?auteur70&lang=en Prof. Bernard Tourancheau] at [https://www.polytech-grenoble.fr/ Polytech Grenoble] (Engineering school)<br />
<br />
===Mots clés===<br />
* IoT<br />
* Machine learning,<br />
* Sports<br />
<br />
=Présentation= <br />
<br />
Présentation du projet dans le cadre de l'Eclipse IoT challenge : [https://air.imag.fr/index.php/SmartMove Smartmove]<br />
<br />
=SCRUM=<br />
<br />
Une liste plus actualisé des tâches est disponible sur Trello : https://trello.com/b/RVfoU3gl/smart-move-first-tasks<br />
==Sprint 1 - Du 29/01/18 au 04/02/18 ==<br />
<br />
* Définition des rôles<br />
* Mise en place du projet pour tous les membres du groupe(Trello, Github)<br />
* Création de la page AIR pour la tenue de journal<br />
* Prise de contact avec les enseignants concernés<br />
* Début de la phase de conception <br />
<br />
* Séance de management de projets innovants<br />
** Rédaction d'une [https://docs.google.com/document/d/1nxa09q82hH2rLvTtIoq7b92gYE82TqpXkbv_IgrantQ/edit?usp=sharing fiche synthetique] de présentation du projet<br />
<br />
==Sprint 2 - Du 05/02/18 au 11/02/18 ==<br />
<br />
*Définition des taches et des deadline sur Trello<br />
*Première expérimentation avec différents modèles de machine learning. Nous faisons face à de très nombreuses contraintes comparé aux modèles que nous trouvons sur le net comme :<br />
** Nos données sont un flux continu et non un simple échantillon borné à analyser<br />
** Nous recevons des données de plusieurs capteurs, la synchronisation doit être quasi parfaite pour que les données est un sens.<br />
**Nous avons découvert des applications d'enregistrement de mouvement fonctionnant sur Android. https://blog.lemberg.co.uk/motion-gesture-detection-using-tensorflow-android<br />
* TODO parler de BLE et arduino<br />
* Cours de gestion de projet<br />
<br />
==Sprint 3 - Du 12/02/18 au 18/02/18 ==<br />
* Soutenance de mi parcours le mercredi 14/02 de 10h30-11h avec Didier Donsez et Bernard Tourancheau <br />
** Ils sont satisfait de la direction que prend le projet<br />
** Didier nous propose de remplacer les Arduino par des SensorTag qui seraient plus adaptés à nos besoins.<br />
*Expérimentations avec un modèle de machine learning prometteur (LSTP Long short term memory) https://github.com/SmartMove-PolytechGrenoble/TensorFlow-on-Android-for-Human-Activity-Recognition-with-LSTMs<br />
*Expérimentations d'entrainement de modèle sur nos machines -> problème de config sur GPU <br />
*Cours de gestion de projet<br />
<br />
==Sprint 4 - Du 19/02/18 au 25/02/18 ==<br />
Vacances<br />
<br />
==Sprint 5 - Du 26/02/18 au 04/03/18 ==<br />
<br />
*Premières expérimentations avec le SensorTag malgré les problèmes de piles.<br />
*Travail sur la gestion des entraînements (au sens, action que veut reconnaître l'utilisateur)<br />
*Cours de gestion des risques en projets<br />
*Réunion 1 de suivi avec Didier<br />
**Il est satisfait de nos avancées (communication téléphone/SensorTag, avancement dans le machine learning, etc)<br />
<br />
==Sprint 6 - Du 05/03/18 au 11/03/18 (en cours) ==<br />
*Réunion 2 de suivi avec Didier<br />
<br />
==Sprint 7 - Du 12/03/18 au 18/03/18 (prévisions) ==<br />
* Soutenance le jeudi 15/03 de 9h-10h<br />
* Préparation de la soutenance <br />
* Fusion de tous nos applications de développement en un démonstrateur pour la soutenance<br />
<br />
=Journal=<br />
<br />
==Sprint1==<br />
<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
<br />
|-<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 1</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 29/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Récupération du matériel au fablab (Arduino 101)<br />
*Tentative d'un flash d'un exemple sur la carte<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Lecture et compréhension des divers documents produits durant le S9 par les 3 autres membres du projet, un gros travail de conception ayant déjà été effectué en amont de mon arrivée<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
*Impossible de faire marcher quelque chose sur la carte pourtant elle est détecté<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Confrontation de l'idée que m'ont donné les documents de conception avec la vision des autres membres afin d'assurer une divergence de trajectoire aussi faible que possible<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 30/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Tentative d'un flash d'un exemple sur la carte<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*La technologie de communication entre les cartes et le téléphone s'effectuera sur la base du [https://developer.android.com/guide/topics/connectivity/bluetooth-le.html Bluetooth BLE]. Ayant déjà travaillé sur cette technologie sur le projet [http://air.imag.fr/index.php/UltraTeam UltraTeam], je ferai cette partie.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
*Le bootloader de la carte est broken et ne fonctionne depuis Linux, Avec Windows Timothée y arrive facilement<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Le BLE est une technologie qui m'avait donné beaucoup de tord durant le précédent projet et il m'intéresse de m'y remettre dessus. le nombre de ressources disponibles est assez peu limité et les ressources existantes ont généralement été conçues pour du HardWare spécial<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 31/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Analyse du code d'[https://github.com/ultratrail/mobapp2 UltraTeam] pour voir ce qui est récupérable du travail déjà effectué dans le cadre du projet antérieur<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Etude problématique projet<br />
*Formation tensorflow : tuto simple, structure du code et concepts de base<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Je ne récupérerai que peu de code du précédent projet en raison du nombre important de bricolage. J'ai décidé de me rebaser quasi-exclusivement sur le [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT]<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple"|<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 02/02/18</span><br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Tentative de flash sur l’Arduino récupéré par Anthony au fablab, finalement réussi sur Windows.<br />
*Essai de l'exemple "HearthRate Monitor" avec connexion Bluetooth.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Création d'un [https://github.com/SmartMove-PolytechGrenoble/SmartMove dépot Github] se basant sur un Fork du Google Sample et qui aura ensuite pour but d'être intégré dans l'application finale créée par les autres. <br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Continuation de la formation TF Visionnage vidéos, notamment conférence sur deep learning adapté à Tensorflow<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Travail avec Clément pour faire fonctionner l'exemple en BLE sur son début d'appli. finalement fonctionnel en demandant l'utilisation du GPS sur android (Comme le requière la spécification BLE)<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Le GoogleSample se base sur un design [https://developer.android.com/reference/android/support/v7/app/AppCompatActivity.html AppCompat], ce qui n'est pas pratique pour l'intégration. Je me souviens avoir eu le même problème sur [http://air.imag.fr/index.php/UltraTeam UltraTeam]. Je le gèrerai cependant de façon opposée -> Au lieu de passer toute mon application sur le même design, je vais transformer le code pour l'utiliser sans ce Framework.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple"|<br />
<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 2==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 2</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 05/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur le AIR<br />
*Export des taches backlog sur Trello<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Début du code Arduino en partant de l'exemple "HeartRate Monitor"<br />
|<!-- Clément --> style="width: 280px;" |<br />
*L'APK fournie par un clone du [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT] ne trouve pas toujours les périphériques BLE environnants. Début des investigations<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Pas mal de difficultés lors du test, en raison de difficultés de debugging sur l'Arduino.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*L'application fonctionne sans soucis sur les plus anciennes versions d'Android mais semble avoir des soucis à partir d'une certaine version du SDK toujours indéterminée.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
*Étude des problématiques propres à notre projet : Stream de data, Dynamic Time<br />
|-<br />
<br />
<br />
|-<br />
<br />
| rowspan="2" | <span style="color:green">Mardi 06/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Étude avec Vincent d'une application utilisant de la détection de mouvement Tensor Flow sur Android. https://blog.lemberg.co.uk/motion-gesture-detection-using-tensorflow-android<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Avancement du code Arduino.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Résolution du bug. Il faut depuis le SDK 23 une autorisation de localisation pour faire fonctionner le Bluetooth. [https://stackoverflow.com/questions/32708374/bluetooth-le-scanfilters-dont-work-on-android-m Problème et solution détaillée]<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Etude d’un code de reconnaissance de mouvement tensorflow Android, + test, comprendre pour pouvoir modifier en conséquence<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Résolution des problèmes rencontrés la veille (Mauvais initialisation du module gérant les capteurs), puis travail sur l'envoie des données par blutooth.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*le problème a également fait l'objet de plusieurs [https://github.com/googlesamples/android-BluetoothLeGatt/pulls Pull Requests] sur le dépo. Certaines ont été validées mais aucune mergées.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 07/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Cours de management de projets innovants - 4h<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Finalisation du code arduino pour le moment.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Début du travail d'intégration du [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT] en tant qu'activité secondaire<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Étude approfondie des modèles : il faut sûrement utiliser un LSTM <br />
<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Recherches sur les UUID (pour l'arduino).<br />
*Envoie des valeurs depuis l'arduino sous forme binaire (nécessite de séparer les octets des ints)<br />
*Mise sur Git du code arduino.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*La forme choisie est celle d'un [https://stackoverflow.com/questions/1979369/android-activity-as-a-dialog Dialog Activity] pour avoir une interaction ergonomique et user friendly<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 08/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Diverses expérimentations avec le MotionGesture. Installation de Gesture Manager sur mon téléphone et record de quelques mouvemnts sur un seul capteur (ceux du téléphone). <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Application fonctionnelle de façon satisfaisante. Cependant, elle ne gère qu'un serveur [https://www.bluetooth.com/specifications/gatt/generic-attributes-overview BLE GATT] là où un par capteur serait nécessaire. Début des modifications en ce sens.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Beaucoup de travail est reste à effectuer afin de permettre la gestion de plusieurs serveurs en simultanée quand l'application de base ne le gère pas du tout. Une meilleure conception aurait réduit l'impact de ce problème<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 09/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
<br />
*Etude de l'appli MotionGestureDemo https://github.com/ryanchyshyn/motion_gestures_detection/tree/master/MotionGesturesDemo<br />
*L’intérêt de cette appli est qu'elle exécute un modèle Tensorflow. Le code nécessaire a cela est externalisé dans une librairie que nous pourrions éventuellement réutiliser<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Hackathlon<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Travail de transition pour une gestion multi-serveurs. Modification des structures de données et des Callbacks.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Abandon du code trouvé précédemment car le modèle ne nous correspond pas. Reprise d’un code utilisant un modèle LSTM en Tensorflow, qui reconnait l’activité d’une personne (assis, debout, en train de marcher, montant des marches…)<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 3==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 3</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 12/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
<br />
*Recherche de modèle avec Vincent. Expérimentation avec un modèle LSTM : https://medium.com/@curiousily/human-activity-recognition-using-lstms-on-android-tensorflow-for-hackers-part-vi-492da5adef64<br />
*Prise en main de ce code <br />
<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Déchiffrage de codes utilisant un modèle LSTM : cela semble être un bon modèle pour notre cas, à voir les résultats pour des moves assez court.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 13/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Fork du modèle LSTM : https://github.com/SmartMove-PolytechGrenoble/TensorFlow-on-Android-for-Human-Activity-Recognition-with-LSTMs <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Modifications du code pour correspondre à notre formattage de données + modification du prétraitement des données<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 14/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Conception de la gestion des entraînements. Entraînements au sens "suite d'activités" que l'utilisateur peut faire et vouloir détecter<br />
*Soutenance mi parcours<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
* Résolution problèmes inconnus Tensorflow<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" | <br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 15/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours gestion<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours gestion<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours gestion<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours gestion<br />
* Test d'entraîner le modèle avec des jeux de données : impossible à faire tourner hardware trop faible.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 16/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Essai tensor flow sur mon CPU <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Faire tourner Tensorflow sur GPU : fonctionne mieux.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 4 (Vacances) ==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 4</span><br />
|-<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">/!\Vacances/!\</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Semaine du 19 au 25 février</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Clément --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Quelques tests sur SensorTag<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 5==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 5</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 26/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours de gestion<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de gestion<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de gestion<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de gestion<br />
* Début modification du code Android d'évalutation : comptabilisation, du nombre de mouvement, chronométrage.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 27/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (création d'entrainement et sauvegarde)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Début modification code enregistrement data. Objectif : labéliser, choisir librement les limites.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 28/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (création d'entrainement et sauvegarde)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Ajout du support du gyroscope<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 01/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (Visualisation)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Entraînement avec nos propres données : il faut beaucoup de données, avec peu de données la précision est vraiment mauvaise.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 02/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (Visualisation)<br />
* Réunion 2<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Réunion 2<br />
|<!-- Clément --> style="width: 280px;" |<br />
* Réunion 2<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Réunion 2<br />
* Récolte de plus de données.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 6 (En cours) ==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 6</span><br />
|-<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 05/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*MaJ Air<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Modif learning pour utiliser les nouvelles infos capteurs : gyroscope + accél, Modifications formattage des données (Python)<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 06/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Le vecteur angulaire n'est pas l'information qu'il nous faut mais plutôt la gravité : changement du code, et reprise de la récupération des données.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 07/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* En fait différentes variable pour l'apprentissage n'avaient pas été touchées, il est possible d'avoir de bons résultats avec peu de données.<br />
* Reprise des tests : très bonne précision avec seulement 40 secondes d'entraînement : les mouvements marcher et sauter sont distingués avec une très bonne précision en ligne droite.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 08/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Excusé (TOEIC)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Rectification après tests : il faut bien l'accélération angulaire, je n'ai pas le capteur sur mon téléphone, je reste sur des infos accéléromètre et c'est précis.<br />
* Multiples essais en faisant varier les variables pour l'apprentissage tensorflow.<br />
* Essais et modification du code pour pouvoir faire descendre le nombre de valeur en input assez bas : reconnaître les mouvements de toute durée.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 09/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 7 (à venir)==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 7</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 12/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
<br />
| rowspan="2" | <span style="color:green">Mardi 13/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 14/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 15/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
<br />
<br />
<br />
|-<br />
<br />
|}</div>
Clement.Rouquier
https://air.imag.fr/index.php?title=RICM5_2017-2018_-_SmartMove&diff=40503
RICM5 2017-2018 - SmartMove
2018-03-09T12:23:57Z
<p>Clement.Rouquier: /* Sprint1 */</p>
<hr />
<div>=Smart Move=<br />
<br />
Smartmove est un ambitieux projet imaginé par quatre étudiants de [https://www.polytech-grenoble.fr/ Polytech Grenoble]. Smartmove est une approche nouvelle du sport avec l'IoT et l'apprentissage machine.<br />
<br />
[[File:Smart-move_logo.png|300px]]<br />
<br />
=Équipe du projet=<br />
{| class="wikitable"<br />
|-<br />
! scope="col" width="200px" | Membre<br />
! scope="col" | Rôles<br />
|-<br />
|Anthony Geourjon<br />
|Chef de projet<br />
|-<br />
|Timothée Lemaire<br />
|Responsable hardware (black belt thinkpad)<br />
|-<br />
|Clément Rouquier<br />
|Responsable Dofus<br />
|-<br />
|Vincent Turrin<br />
|Batteur<br />
|}<br />
<br />
* Supervisé par : Bernard Tourancheau, Didier Donsez<br />
<br />
=Abstract=<br />
In 2017, two highly innovative domains emerge : the Internet of Things and the Artificial Intelligence and especially the machine learning. These technological advances open new possibilities to imagine new ways to help people. In this project, we present our proposal for the [https://iot.eclipse.org/open-iot-challenge/ Open IoT challenge 4.0] organized by the [https://iot.eclipse.org Eclipse Foundation]. This project is also part of the course of Wireless Sensor Networks given by [http://drakkar.imag.fr/spip.php?auteur70&lang=en Prof. Bernard Tourancheau] at [https://www.polytech-grenoble.fr/ Polytech Grenoble] (Engineering school)<br />
<br />
===Mots clés===<br />
* IoT<br />
* Machine learning,<br />
* Sports<br />
<br />
=Présentation= <br />
<br />
Présentation du projet dans le cadre de l'Eclipse IoT challenge : [https://air.imag.fr/index.php/SmartMove Smartmove]<br />
<br />
=SCRUM=<br />
<br />
Une liste plus actualisé des tâches est disponible sur Trello : https://trello.com/b/RVfoU3gl/smart-move-first-tasks<br />
==Sprint 1 - Du 29/01/18 au 04/02/18 ==<br />
<br />
* Définition des rôles<br />
* Mise en place du projet pour tous les membres du groupe(Trello, Github)<br />
* Création de la page AIR pour la tenue de journal<br />
* Prise de contact avec les enseignants concernés<br />
* Début de la phase de conception <br />
<br />
* Séance de management de projets innovants<br />
** Rédaction d'une [https://docs.google.com/document/d/1nxa09q82hH2rLvTtIoq7b92gYE82TqpXkbv_IgrantQ/edit?usp=sharing fiche synthetique] de présentation du projet<br />
<br />
==Sprint 2 - Du 05/02/18 au 11/02/18 ==<br />
<br />
*Définition des taches et des deadline sur Trello<br />
*Première expérimentation avec différents modèles de machine learning. Nous faisons face à de très nombreuses contraintes comparé aux modèles que nous trouvons sur le net comme :<br />
** Nos données sont un flux continu et non un simple échantillon borné à analyser<br />
** Nous recevons des données de plusieurs capteurs, la synchronisation doit être quasi parfaite pour que les données est un sens.<br />
**Nous avons découvert des applications d'enregistrement de mouvement fonctionnant sur Android. https://blog.lemberg.co.uk/motion-gesture-detection-using-tensorflow-android<br />
* TODO parler de BLE et arduino<br />
* Cours de gestion de projet<br />
<br />
==Sprint 3 - Du 12/02/18 au 18/02/18 ==<br />
* Soutenance de mi parcours le mercredi 14/02 de 10h30-11h avec Didier Donsez et Bernard Tourancheau <br />
** Ils sont satisfait de la direction que prend le projet<br />
** Didier nous propose de remplacer les Arduino par des SensorTag qui seraient plus adaptés à nos besoins.<br />
*Expérimentations avec un modèle de machine learning prometteur (LSTP Long short term memory) https://github.com/SmartMove-PolytechGrenoble/TensorFlow-on-Android-for-Human-Activity-Recognition-with-LSTMs<br />
*Expérimentations d'entrainement de modèle sur nos machines -> problème de config sur GPU <br />
*Cours de gestion de projet<br />
<br />
==Sprint 4 - Du 19/02/18 au 25/02/18 ==<br />
Vacances<br />
<br />
==Sprint 5 - Du 26/02/18 au 04/03/18 ==<br />
<br />
*Premières expérimentations avec le SensorTag malgré les problèmes de piles.<br />
*Travail sur la gestion des entraînements (au sens, action que veut reconnaître l'utilisateur)<br />
*Cours de gestion des risques en projets<br />
*Réunion 1 de suivi avec Didier<br />
**Il est satisfait de nos avancées (communication téléphone/SensorTag, avancement dans le machine learning, etc)<br />
<br />
==Sprint 6 - Du 05/03/18 au 11/03/18 (en cours) ==<br />
*Réunion 2 de suivi avec Didier<br />
<br />
==Sprint 7 - Du 12/03/18 au 18/03/18 (prévisions) ==<br />
* Soutenance le jeudi 15/03 de 9h-10h<br />
* Préparation de la soutenance <br />
* Fusion de tous nos applications de développement en un démonstrateur pour la soutenance<br />
<br />
=Journal=<br />
<br />
==Sprint1==<br />
<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
<br />
|-<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 1</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 29/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Récupération du matériel au fablab (Arduino 101)<br />
*Tentative d'un flash d'un exemple sur la carte<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Lecture et compréhension des divers documents produits durant le S9 par les 3 autres membres du projet, un gros travail de conception ayant déjà été effectué en amont de mon arrivée<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
*Impossible de faire marcher quelque chose sur la carte pourtant elle est détecté<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Confrontation de l'idée que m'ont donné les documents de conception avec la vision des autres membres afin d'assurer une divergence de trajectoire aussi faible que possible<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 30/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Tentative d'un flash d'un exemple sur la carte<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*La technologie de communication entre les cartes et le téléphone s'effectuera sur la base du [https://developer.android.com/guide/topics/connectivity/bluetooth-le.html Bluetooth BLE]. Ayant déjà travaillé sur cette technologie sur le projet [http://air.imag.fr/index.php/UltraTeam UltraTeam], je ferai cette partie.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
*Le bootloader de la carte est broken et ne fonctionne depuis Linux, Avec Windows Timothée y arrive facilement<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Le BLE est une technologie qui m'avait donné beaucoup de tord durant le précédent projet et il m'intéresse de m'y remettre dessus. le nombre de ressources disponibles est assez peu limité et les ressources existantes ont généralement été conçues pour du HardWare spécial<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 31/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Analyse du code d'[https://github.com/ultratrail/mobapp2 UltraTeam] pour voir ce qui est récupérable du travail déjà effectué dans le cadre du projet antérieur<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Etude problématique projet<br />
*Formation tensorflow : tuto simple, structure du code et concepts de base<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Je ne récupérerai que peu de code du précédent projet en raison du nombre important de bricolage. J'ai décidé de me rebaser quasi-exclusivement sur le [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT]<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple"|<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 02/02/18</span><br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Tentative de flash sur l’Arduino récupéré par Anthony au fablab, finalement réussi sur Windows.<br />
*Essai de l'exemple "HearthRate Monitor" avec connexion Bluetooth.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Création d'un [https://github.com/SmartMove-PolytechGrenoble/SmartMove dépot Github] se basant sur un Fork du Google Sample et qui aura ensuite pour but d'être intégré dans l'application finale créée par les autres. <br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Continuation de la formation TF Visionnage vidéos, notamment conférence sur deep learning adapté à Tensorflow<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Travail avec Clément pour faire fonctionner l'exemple en BLE sur son début d'appli. finalement fonctionnel en demandant l'utilisation du GPS sur android (Comme le requière la spécification BLE)<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Le GoogleSample se base sur un design [https://developer.android.com/reference/android/support/v7/app/AppCompatActivity.html AppCompat], ce qui n'est pas pratique pour l'intégration. Je me souviens avoir eu le même problème sur [http://air.imag.fr/index.php/UltraTeam UltraTeam]. Je le gèrerai cependant de façon opposée -> Au lieu de passer toute mon application sur le même design, je vais transformer le code pour l'utiliser sans ce Framework.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple"|<br />
<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 2==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 2</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 05/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur le AIR<br />
*Export des taches backlog sur Trello<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Début du code Arduino en partant de l'exemple "HeartRate Monitor"<br />
|<!-- Clément --> style="width: 280px;" |<br />
*L'APK fournie par un clone du [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT] ne trouve pas toujours les périphériques BLE environnants. Début des investigations<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Pas mal de difficultés lors du test, en raison de difficultés de debugging sur l'Arduino.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*L'application fonctionne sans soucis sur les plus anciennes versions d'Android mais semble avoir des soucis à partir d'une certaine version du SDK toujours indéterminée.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
*Étude des problématiques propres à notre projet : Stream de data, Dynamic Time<br />
|-<br />
<br />
<br />
|-<br />
<br />
| rowspan="2" | <span style="color:green">Mardi 06/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Étude avec Vincent d'une application utilisant de la détection de mouvement Tensor Flow sur Android. https://blog.lemberg.co.uk/motion-gesture-detection-using-tensorflow-android<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Avancement du code Arduino.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Résolution du bug. Il faut depuis le SDK 23 une autorisation de localisation pour faire fonctionner le Bluetooth. [https://stackoverflow.com/questions/32708374/bluetooth-le-scanfilters-dont-work-on-android-m Problème et solution détaillée]<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Etude d’un code de reconnaissance de mouvement tensorflow Android, + test, comprendre pour pouvoir modifier en conséquence<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Résolution des problèmes rencontrés la veille (Mauvais initialisation du module gérant les capteurs), puis travail sur l'envoie des données par blutooth.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*le problème a également fait l'objet de plusieurs [https://github.com/googlesamples/android-BluetoothLeGatt/pulls Pull Requests] sur le dépo. Certaines ont été validées mais aucune mergées.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 07/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Cours de management de projets innovants - 4h<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Finalisation du code arduino pour le moment.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Début du travail d'intégration du [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT] en tant qu'activité secondaire<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Étude approfondie des modèles : il faut sûrement utiliser un LSTM <br />
<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Recherches sur les UUID (pour l'arduino).<br />
*Envoie des valeurs depuis l'arduino sous forme binaire (nécessite de séparer les octets des ints)<br />
*Mise sur Git du code arduino.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*La forme choisie est celle d'un [https://stackoverflow.com/questions/1979369/android-activity-as-a-dialog Dialog Activity] pour avoir une interaction ergonomique et user friendly<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 08/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Diverses expérimentations avec le MotionGesture. Installation de Gesture Manager sur mon téléphone et record de quelques mouvemnts sur un seul capteur (ceux du téléphone). <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Application fonctionnelle de façon satisfaisante. Cependant, elle ne gère qu'un serveur [https://www.bluetooth.com/specifications/gatt/generic-attributes-overview BLE GATT] là où un par capteur serait nécessaire. Début des modifications en ce sens.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
Beaucoup de travail est reste à effectuer afin de permettre la gestion de plusieurs serveurs en simultanée quand l'application de base ne le gère pas du tout. Une meilleure conception aurait réduit l'impact de ce problème<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 09/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
<br />
*Etude de l'appli MotionGestureDemo https://github.com/ryanchyshyn/motion_gestures_detection/tree/master/MotionGesturesDemo<br />
*L’intérêt de cette appli est qu'elle exécute un modèle Tensorflow. Le code nécessaire a cela est externalisé dans une librairie que nous pourrions éventuellement réutiliser<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Hackathlon<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Travail de transition pour une gestion multi-serveurs. Modification des structures de données et des Callbacks.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Abandon du code trouvé précédemment car le modèle ne nous correspond pas. Reprise d’un code utilisant un modèle LSTM en Tensorflow, qui reconnait l’activité d’une personne (assis, debout, en train de marcher, montant des marches…)<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 3==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 3</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 12/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
<br />
*Recherche de modèle avec Vincent. Expérimentation avec un modèle LSTM : https://medium.com/@curiousily/human-activity-recognition-using-lstms-on-android-tensorflow-for-hackers-part-vi-492da5adef64<br />
*Prise en main de ce code <br />
<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Déchiffrage de codes utilisant un modèle LSTM : cela semble être un bon modèle pour notre cas, à voir les résultats pour des moves assez court.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 13/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Fork du modèle LSTM : https://github.com/SmartMove-PolytechGrenoble/TensorFlow-on-Android-for-Human-Activity-Recognition-with-LSTMs <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Modifications du code pour correspondre à notre formattage de données + modification du prétraitement des données<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 14/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Conception de la gestion des entraînements. Entraînements au sens "suite d'activités" que l'utilisateur peut faire et vouloir détecter<br />
*Soutenance mi parcours<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
* Résolution problèmes inconnus Tensorflow<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" | <br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 15/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours gestion<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours gestion<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours gestion<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours gestion<br />
* Test d'entraîner le modèle avec des jeux de données : impossible à faire tourner hardware trop faible.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 16/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Essai tensor flow sur mon CPU <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Faire tourner Tensorflow sur GPU : fonctionne mieux.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 4 (Vacances) ==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 4</span><br />
|-<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">/!\Vacances/!\</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Semaine du 19 au 25 février</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Clément --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Quelques tests sur SensorTag<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 5==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 5</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 26/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours de gestion<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de gestion<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de gestion<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de gestion<br />
* Début modification du code Android d'évalutation : comptabilisation, du nombre de mouvement, chronométrage.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 27/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (création d'entrainement et sauvegarde)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Début modification code enregistrement data. Objectif : labéliser, choisir librement les limites.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 28/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (création d'entrainement et sauvegarde)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Ajout du support du gyroscope<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 01/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (Visualisation)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Entraînement avec nos propres données : il faut beaucoup de données, avec peu de données la précision est vraiment mauvaise.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 02/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (Visualisation)<br />
* Réunion 2<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Réunion 2<br />
|<!-- Clément --> style="width: 280px;" |<br />
* Réunion 2<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Réunion 2<br />
* Récolte de plus de données.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 6 (En cours) ==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 6</span><br />
|-<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 05/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*MaJ Air<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Modif learning pour utiliser les nouvelles infos capteurs : gyroscope + accél, Modifications formattage des données (Python)<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 06/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Le vecteur angulaire n'est pas l'information qu'il nous faut mais plutôt la gravité : changement du code, et reprise de la récupération des données.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 07/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* En fait différentes variable pour l'apprentissage n'avaient pas été touchées, il est possible d'avoir de bons résultats avec peu de données.<br />
* Reprise des tests : très bonne précision avec seulement 40 secondes d'entraînement : les mouvements marcher et sauter sont distingués avec une très bonne précision en ligne droite.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 08/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Excusé (TOEIC)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Rectification après tests : il faut bien l'accélération angulaire, je n'ai pas le capteur sur mon téléphone, je reste sur des infos accéléromètre et c'est précis.<br />
* Multiples essais en faisant varier les variables pour l'apprentissage tensorflow.<br />
* Essais et modification du code pour pouvoir faire descendre le nombre de valeur en input assez bas : reconnaître les mouvements de toute durée.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 09/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 7 (à venir)==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 7</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 12/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
<br />
| rowspan="2" | <span style="color:green">Mardi 13/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 14/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 15/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
<br />
<br />
<br />
|-<br />
<br />
|}</div>
Clement.Rouquier
https://air.imag.fr/index.php?title=RICM5_2017-2018_-_SmartMove&diff=40502
RICM5 2017-2018 - SmartMove
2018-03-09T12:23:02Z
<p>Clement.Rouquier: /* Sprint 2 */</p>
<hr />
<div>=Smart Move=<br />
<br />
Smartmove est un ambitieux projet imaginé par quatre étudiants de [https://www.polytech-grenoble.fr/ Polytech Grenoble]. Smartmove est une approche nouvelle du sport avec l'IoT et l'apprentissage machine.<br />
<br />
[[File:Smart-move_logo.png|300px]]<br />
<br />
=Équipe du projet=<br />
{| class="wikitable"<br />
|-<br />
! scope="col" width="200px" | Membre<br />
! scope="col" | Rôles<br />
|-<br />
|Anthony Geourjon<br />
|Chef de projet<br />
|-<br />
|Timothée Lemaire<br />
|Responsable hardware (black belt thinkpad)<br />
|-<br />
|Clément Rouquier<br />
|Responsable Dofus<br />
|-<br />
|Vincent Turrin<br />
|Batteur<br />
|}<br />
<br />
* Supervisé par : Bernard Tourancheau, Didier Donsez<br />
<br />
=Abstract=<br />
In 2017, two highly innovative domains emerge : the Internet of Things and the Artificial Intelligence and especially the machine learning. These technological advances open new possibilities to imagine new ways to help people. In this project, we present our proposal for the [https://iot.eclipse.org/open-iot-challenge/ Open IoT challenge 4.0] organized by the [https://iot.eclipse.org Eclipse Foundation]. This project is also part of the course of Wireless Sensor Networks given by [http://drakkar.imag.fr/spip.php?auteur70&lang=en Prof. Bernard Tourancheau] at [https://www.polytech-grenoble.fr/ Polytech Grenoble] (Engineering school)<br />
<br />
===Mots clés===<br />
* IoT<br />
* Machine learning,<br />
* Sports<br />
<br />
=Présentation= <br />
<br />
Présentation du projet dans le cadre de l'Eclipse IoT challenge : [https://air.imag.fr/index.php/SmartMove Smartmove]<br />
<br />
=SCRUM=<br />
<br />
Une liste plus actualisé des tâches est disponible sur Trello : https://trello.com/b/RVfoU3gl/smart-move-first-tasks<br />
==Sprint 1 - Du 29/01/18 au 04/02/18 ==<br />
<br />
* Définition des rôles<br />
* Mise en place du projet pour tous les membres du groupe(Trello, Github)<br />
* Création de la page AIR pour la tenue de journal<br />
* Prise de contact avec les enseignants concernés<br />
* Début de la phase de conception <br />
<br />
* Séance de management de projets innovants<br />
** Rédaction d'une [https://docs.google.com/document/d/1nxa09q82hH2rLvTtIoq7b92gYE82TqpXkbv_IgrantQ/edit?usp=sharing fiche synthetique] de présentation du projet<br />
<br />
==Sprint 2 - Du 05/02/18 au 11/02/18 ==<br />
<br />
*Définition des taches et des deadline sur Trello<br />
*Première expérimentation avec différents modèles de machine learning. Nous faisons face à de très nombreuses contraintes comparé aux modèles que nous trouvons sur le net comme :<br />
** Nos données sont un flux continu et non un simple échantillon borné à analyser<br />
** Nous recevons des données de plusieurs capteurs, la synchronisation doit être quasi parfaite pour que les données est un sens.<br />
**Nous avons découvert des applications d'enregistrement de mouvement fonctionnant sur Android. https://blog.lemberg.co.uk/motion-gesture-detection-using-tensorflow-android<br />
* TODO parler de BLE et arduino<br />
* Cours de gestion de projet<br />
<br />
==Sprint 3 - Du 12/02/18 au 18/02/18 ==<br />
* Soutenance de mi parcours le mercredi 14/02 de 10h30-11h avec Didier Donsez et Bernard Tourancheau <br />
** Ils sont satisfait de la direction que prend le projet<br />
** Didier nous propose de remplacer les Arduino par des SensorTag qui seraient plus adaptés à nos besoins.<br />
*Expérimentations avec un modèle de machine learning prometteur (LSTP Long short term memory) https://github.com/SmartMove-PolytechGrenoble/TensorFlow-on-Android-for-Human-Activity-Recognition-with-LSTMs<br />
*Expérimentations d'entrainement de modèle sur nos machines -> problème de config sur GPU <br />
*Cours de gestion de projet<br />
<br />
==Sprint 4 - Du 19/02/18 au 25/02/18 ==<br />
Vacances<br />
<br />
==Sprint 5 - Du 26/02/18 au 04/03/18 ==<br />
<br />
*Premières expérimentations avec le SensorTag malgré les problèmes de piles.<br />
*Travail sur la gestion des entraînements (au sens, action que veut reconnaître l'utilisateur)<br />
*Cours de gestion des risques en projets<br />
*Réunion 1 de suivi avec Didier<br />
**Il est satisfait de nos avancées (communication téléphone/SensorTag, avancement dans le machine learning, etc)<br />
<br />
==Sprint 6 - Du 05/03/18 au 11/03/18 (en cours) ==<br />
*Réunion 2 de suivi avec Didier<br />
<br />
==Sprint 7 - Du 12/03/18 au 18/03/18 (prévisions) ==<br />
* Soutenance le jeudi 15/03 de 9h-10h<br />
* Préparation de la soutenance <br />
* Fusion de tous nos applications de développement en un démonstrateur pour la soutenance<br />
<br />
=Journal=<br />
<br />
==Sprint1==<br />
<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
<br />
|-<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 1</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 29/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Récupération du matériel au fablab (Arduino 101)<br />
*Tentative d'un flash d'un exemple sur la carte<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Lecture et compréhension des divers documents produits durant le S9 par les 3 autres membres du projet, un gros travail de conception ayant déjà été effectué en amont de mon arrivée<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
*Impossible de faire marcher quelque chose sur la carte pourtant elle est détecté<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Confrontation de l'idée que m'ont donné les documents de conception avec la vision des autres membres afin d'assurer une divergence de trajectoire aussi faible que possible<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 30/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Tentative d'un flash d'un exemple sur la carte<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*La technologie de communication entre les cartes et le téléphone s'effectuera sur la base du [https://developer.android.com/guide/topics/connectivity/bluetooth-le.html Bluetooth BLE]. Ayant déjà travaillé sur cette technologie sur le projet [http://air.imag.fr/index.php/UltraTeam UltraTeam], je ferai cette partie.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
*Le bootloader de la carte est broken et ne fonctionne depuis Linux, Avec Windows Timothée y arrive facilement<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Le BLE est une technologie qui m'avait donné beaucoup de tord durant le précédent projet et il m'intéresse de m'y remettre dessus. le nombre de ressources disponibles est assez peu limité et les ressources existantes ont généralement été conçues pour du HardWare spécial<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 31/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
Analyse du code d'[https://github.com/ultratrail/mobapp2 UltraTeam] pour voir ce qui est récupérable du travail déjà effectué dans le cadre du projet antérieur<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Etude problématique projet<br />
*Formation tensorflow : tuto simple, structure du code et concepts de base<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Je ne récupérerai que peu de code du précédent projet en raison du nombre important de bricolage. J'ai décidé de me rebaser quasi-exclusivement sur le [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT]<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple"|<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 02/02/18</span><br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Tentative de flash sur l’Arduino récupéré par Anthony au fablab, finalement réussi sur Windows.<br />
*Essai de l'exemple "HearthRate Monitor" avec connexion Bluetooth.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Création d'un [https://github.com/SmartMove-PolytechGrenoble/SmartMove dépot Github] se basant sur un Fork du Google Sample et qui aura ensuite pour but d'être intégré dans l'application finale créée par les autres. <br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Continuation de la formation TF Visionnage vidéos, notamment conférence sur deep learning adapté à Tensorflow<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Travail avec Clément pour faire fonctionner l'exemple en BLE sur son début d'appli. finalement fonctionnel en demandant l'utilisation du GPS sur android (Comme le requière la spécification BLE)<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Le GoogleSample se base sur un design [https://developer.android.com/reference/android/support/v7/app/AppCompatActivity.html AppCompat], ce qui n'est pas pratique pour l'intégration. Je me souviens avoir eu le même problème sur [http://air.imag.fr/index.php/UltraTeam UltraTeam]. Je le gèrerai cependant de façon opposée -> Au lieu de passer toute mon application sur le même design, je vais transformer le code pour l'utiliser sans ce Framework.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple"|<br />
<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 2==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 2</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 05/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur le AIR<br />
*Export des taches backlog sur Trello<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Début du code Arduino en partant de l'exemple "HeartRate Monitor"<br />
|<!-- Clément --> style="width: 280px;" |<br />
*L'APK fournie par un clone du [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT] ne trouve pas toujours les périphériques BLE environnants. Début des investigations<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Pas mal de difficultés lors du test, en raison de difficultés de debugging sur l'Arduino.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*L'application fonctionne sans soucis sur les plus anciennes versions d'Android mais semble avoir des soucis à partir d'une certaine version du SDK toujours indéterminée.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
*Étude des problématiques propres à notre projet : Stream de data, Dynamic Time<br />
|-<br />
<br />
<br />
|-<br />
<br />
| rowspan="2" | <span style="color:green">Mardi 06/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Étude avec Vincent d'une application utilisant de la détection de mouvement Tensor Flow sur Android. https://blog.lemberg.co.uk/motion-gesture-detection-using-tensorflow-android<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Avancement du code Arduino.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Résolution du bug. Il faut depuis le SDK 23 une autorisation de localisation pour faire fonctionner le Bluetooth. [https://stackoverflow.com/questions/32708374/bluetooth-le-scanfilters-dont-work-on-android-m Problème et solution détaillée]<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Etude d’un code de reconnaissance de mouvement tensorflow Android, + test, comprendre pour pouvoir modifier en conséquence<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Résolution des problèmes rencontrés la veille (Mauvais initialisation du module gérant les capteurs), puis travail sur l'envoie des données par blutooth.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*le problème a également fait l'objet de plusieurs [https://github.com/googlesamples/android-BluetoothLeGatt/pulls Pull Requests] sur le dépo. Certaines ont été validées mais aucune mergées.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 07/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Cours de management de projets innovants - 4h<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Finalisation du code arduino pour le moment.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Début du travail d'intégration du [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT] en tant qu'activité secondaire<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Étude approfondie des modèles : il faut sûrement utiliser un LSTM <br />
<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Recherches sur les UUID (pour l'arduino).<br />
*Envoie des valeurs depuis l'arduino sous forme binaire (nécessite de séparer les octets des ints)<br />
*Mise sur Git du code arduino.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*La forme choisie est celle d'un [https://stackoverflow.com/questions/1979369/android-activity-as-a-dialog Dialog Activity] pour avoir une interaction ergonomique et user friendly<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 08/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Diverses expérimentations avec le MotionGesture. Installation de Gesture Manager sur mon téléphone et record de quelques mouvemnts sur un seul capteur (ceux du téléphone). <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Application fonctionnelle de façon satisfaisante. Cependant, elle ne gère qu'un serveur [https://www.bluetooth.com/specifications/gatt/generic-attributes-overview BLE GATT] là où un par capteur serait nécessaire. Début des modifications en ce sens.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
Beaucoup de travail est reste à effectuer afin de permettre la gestion de plusieurs serveurs en simultanée quand l'application de base ne le gère pas du tout. Une meilleure conception aurait réduit l'impact de ce problème<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 09/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
<br />
*Etude de l'appli MotionGestureDemo https://github.com/ryanchyshyn/motion_gestures_detection/tree/master/MotionGesturesDemo<br />
*L’intérêt de cette appli est qu'elle exécute un modèle Tensorflow. Le code nécessaire a cela est externalisé dans une librairie que nous pourrions éventuellement réutiliser<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Hackathlon<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Travail de transition pour une gestion multi-serveurs. Modification des structures de données et des Callbacks.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Abandon du code trouvé précédemment car le modèle ne nous correspond pas. Reprise d’un code utilisant un modèle LSTM en Tensorflow, qui reconnait l’activité d’une personne (assis, debout, en train de marcher, montant des marches…)<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 3==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 3</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 12/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
<br />
*Recherche de modèle avec Vincent. Expérimentation avec un modèle LSTM : https://medium.com/@curiousily/human-activity-recognition-using-lstms-on-android-tensorflow-for-hackers-part-vi-492da5adef64<br />
*Prise en main de ce code <br />
<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Déchiffrage de codes utilisant un modèle LSTM : cela semble être un bon modèle pour notre cas, à voir les résultats pour des moves assez court.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 13/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Fork du modèle LSTM : https://github.com/SmartMove-PolytechGrenoble/TensorFlow-on-Android-for-Human-Activity-Recognition-with-LSTMs <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Modifications du code pour correspondre à notre formattage de données + modification du prétraitement des données<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 14/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Conception de la gestion des entraînements. Entraînements au sens "suite d'activités" que l'utilisateur peut faire et vouloir détecter<br />
*Soutenance mi parcours<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
* Résolution problèmes inconnus Tensorflow<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" | <br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 15/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours gestion<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours gestion<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours gestion<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours gestion<br />
* Test d'entraîner le modèle avec des jeux de données : impossible à faire tourner hardware trop faible.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 16/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Essai tensor flow sur mon CPU <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Faire tourner Tensorflow sur GPU : fonctionne mieux.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 4 (Vacances) ==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 4</span><br />
|-<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">/!\Vacances/!\</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Semaine du 19 au 25 février</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Clément --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Quelques tests sur SensorTag<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 5==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 5</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 26/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours de gestion<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de gestion<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de gestion<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de gestion<br />
* Début modification du code Android d'évalutation : comptabilisation, du nombre de mouvement, chronométrage.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 27/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (création d'entrainement et sauvegarde)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Début modification code enregistrement data. Objectif : labéliser, choisir librement les limites.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 28/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (création d'entrainement et sauvegarde)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Ajout du support du gyroscope<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 01/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (Visualisation)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Entraînement avec nos propres données : il faut beaucoup de données, avec peu de données la précision est vraiment mauvaise.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 02/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (Visualisation)<br />
* Réunion 2<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Réunion 2<br />
|<!-- Clément --> style="width: 280px;" |<br />
* Réunion 2<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Réunion 2<br />
* Récolte de plus de données.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 6 (En cours) ==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 6</span><br />
|-<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 05/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*MaJ Air<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Modif learning pour utiliser les nouvelles infos capteurs : gyroscope + accél, Modifications formattage des données (Python)<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 06/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Le vecteur angulaire n'est pas l'information qu'il nous faut mais plutôt la gravité : changement du code, et reprise de la récupération des données.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 07/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* En fait différentes variable pour l'apprentissage n'avaient pas été touchées, il est possible d'avoir de bons résultats avec peu de données.<br />
* Reprise des tests : très bonne précision avec seulement 40 secondes d'entraînement : les mouvements marcher et sauter sont distingués avec une très bonne précision en ligne droite.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 08/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Excusé (TOEIC)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Rectification après tests : il faut bien l'accélération angulaire, je n'ai pas le capteur sur mon téléphone, je reste sur des infos accéléromètre et c'est précis.<br />
* Multiples essais en faisant varier les variables pour l'apprentissage tensorflow.<br />
* Essais et modification du code pour pouvoir faire descendre le nombre de valeur en input assez bas : reconnaître les mouvements de toute durée.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 09/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 7 (à venir)==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 7</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 12/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
<br />
| rowspan="2" | <span style="color:green">Mardi 13/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 14/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 15/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
<br />
<br />
<br />
|-<br />
<br />
|}</div>
Clement.Rouquier
https://air.imag.fr/index.php?title=RICM5_2017-2018_-_SmartMove&diff=40501
RICM5 2017-2018 - SmartMove
2018-03-09T12:09:58Z
<p>Clement.Rouquier: /* Sprint 2 */</p>
<hr />
<div>=Smart Move=<br />
<br />
Smartmove est un ambitieux projet imaginé par quatre étudiants de [https://www.polytech-grenoble.fr/ Polytech Grenoble]. Smartmove est une approche nouvelle du sport avec l'IoT et l'apprentissage machine.<br />
<br />
[[File:Smart-move_logo.png|300px]]<br />
<br />
=Équipe du projet=<br />
{| class="wikitable"<br />
|-<br />
! scope="col" width="200px" | Membre<br />
! scope="col" | Rôles<br />
|-<br />
|Anthony Geourjon<br />
|Chef de projet<br />
|-<br />
|Timothée Lemaire<br />
|Responsable hardware (black belt thinkpad)<br />
|-<br />
|Clément Rouquier<br />
|Responsable Dofus<br />
|-<br />
|Vincent Turrin<br />
|Batteur<br />
|}<br />
<br />
* Supervisé par : Bernard Tourancheau, Didier Donsez<br />
<br />
=Abstract=<br />
In 2017, two highly innovative domains emerge : the Internet of Things and the Artificial Intelligence and especially the machine learning. These technological advances open new possibilities to imagine new ways to help people. In this project, we present our proposal for the [https://iot.eclipse.org/open-iot-challenge/ Open IoT challenge 4.0] organized by the [https://iot.eclipse.org Eclipse Foundation]. This project is also part of the course of Wireless Sensor Networks given by [http://drakkar.imag.fr/spip.php?auteur70&lang=en Prof. Bernard Tourancheau] at [https://www.polytech-grenoble.fr/ Polytech Grenoble] (Engineering school)<br />
<br />
===Mots clés===<br />
* IoT<br />
* Machine learning,<br />
* Sports<br />
<br />
=Présentation= <br />
<br />
Présentation du projet dans le cadre de l'Eclipse IoT challenge : [https://air.imag.fr/index.php/SmartMove Smartmove]<br />
<br />
=SCRUM=<br />
<br />
Une liste plus actualisé des tâches est disponible sur Trello : https://trello.com/b/RVfoU3gl/smart-move-first-tasks<br />
==Sprint 1 - Du 29/01/18 au 04/02/18 ==<br />
<br />
* Définition des rôles<br />
* Mise en place du projet pour tous les membres du groupe(Trello, Github)<br />
* Création de la page AIR pour la tenue de journal<br />
* Prise de contact avec les enseignants concernés<br />
* Début de la phase de conception <br />
<br />
* Séance de management de projets innovants<br />
** Rédaction d'une [https://docs.google.com/document/d/1nxa09q82hH2rLvTtIoq7b92gYE82TqpXkbv_IgrantQ/edit?usp=sharing fiche synthetique] de présentation du projet<br />
<br />
==Sprint 2 - Du 05/02/18 au 11/02/18 ==<br />
<br />
*Définition des taches et des deadline sur Trello<br />
*Première expérimentation avec différents modèles de machine learning. Nous faisons face à de très nombreuses contraintes comparé aux modèles que nous trouvons sur le net comme :<br />
** Nos données sont un flux continu et non un simple échantillon borné à analyser<br />
** Nous recevons des données de plusieurs capteurs, la synchronisation doit être quasi parfaite pour que les données est un sens.<br />
**Nous avons découvert des applications d'enregistrement de mouvement fonctionnant sur Android. https://blog.lemberg.co.uk/motion-gesture-detection-using-tensorflow-android<br />
* TODO parler de BLE et arduino<br />
* Cours de gestion de projet<br />
<br />
==Sprint 3 - Du 12/02/18 au 18/02/18 ==<br />
* Soutenance de mi parcours le mercredi 14/02 de 10h30-11h avec Didier Donsez et Bernard Tourancheau <br />
** Ils sont satisfait de la direction que prend le projet<br />
** Didier nous propose de remplacer les Arduino par des SensorTag qui seraient plus adaptés à nos besoins.<br />
*Expérimentations avec un modèle de machine learning prometteur (LSTP Long short term memory) https://github.com/SmartMove-PolytechGrenoble/TensorFlow-on-Android-for-Human-Activity-Recognition-with-LSTMs<br />
*Expérimentations d'entrainement de modèle sur nos machines -> problème de config sur GPU <br />
*Cours de gestion de projet<br />
<br />
==Sprint 4 - Du 19/02/18 au 25/02/18 ==<br />
Vacances<br />
<br />
==Sprint 5 - Du 26/02/18 au 04/03/18 ==<br />
<br />
*Premières expérimentations avec le SensorTag malgré les problèmes de piles.<br />
*Travail sur la gestion des entraînements (au sens, action que veut reconnaître l'utilisateur)<br />
*Cours de gestion des risques en projets<br />
*Réunion 1 de suivi avec Didier<br />
**Il est satisfait de nos avancées (communication téléphone/SensorTag, avancement dans le machine learning, etc)<br />
<br />
==Sprint 6 - Du 05/03/18 au 11/03/18 (en cours) ==<br />
*Réunion 2 de suivi avec Didier<br />
<br />
==Sprint 7 - Du 12/03/18 au 18/03/18 (prévisions) ==<br />
* Soutenance le jeudi 15/03 de 9h-10h<br />
* Préparation de la soutenance <br />
* Fusion de tous nos applications de développement en un démonstrateur pour la soutenance<br />
<br />
=Journal=<br />
<br />
==Sprint1==<br />
<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
<br />
|-<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 1</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 29/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Récupération du matériel au fablab (Arduino 101)<br />
*Tentative d'un flash d'un exemple sur la carte<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Lecture et compréhension des divers documents produits durant le S9 par les 3 autres membres du projet, un gros travail de conception ayant déjà été effectué en amont de mon arrivée<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
*Impossible de faire marcher quelque chose sur la carte pourtant elle est détecté<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Confrontation de l'idée que m'ont donné les documents de conception avec la vision des autres membres afin d'assurer une divergence de trajectoire aussi faible que possible<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 30/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Tentative d'un flash d'un exemple sur la carte<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*La technologie de communication entre les cartes et le téléphone s'effectuera sur la base du [https://developer.android.com/guide/topics/connectivity/bluetooth-le.html Bluetooth BLE]. Ayant déjà travaillé sur cette technologie sur le projet [http://air.imag.fr/index.php/UltraTeam UltraTeam], je ferai cette partie.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
*Le bootloader de la carte est broken et ne fonctionne depuis Linux, Avec Windows Timothée y arrive facilement<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Le BLE est une technologie qui m'avait donné beaucoup de tord durant le précédent projet et il m'intéresse de m'y remettre dessus. le nombre de ressources disponibles est assez peu limité et les ressources existantes ont généralement été conçues pour du HardWare spécial<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 31/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
Analyse du code d'[https://github.com/ultratrail/mobapp2 UltraTeam] pour voir ce qui est récupérable du travail déjà effectué dans le cadre du projet antérieur<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Etude problématique projet<br />
*Formation tensorflow : tuto simple, structure du code et concepts de base<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Je ne récupérerai que peu de code du précédent projet en raison du nombre important de bricolage. J'ai décidé de me rebaser quasi-exclusivement sur le [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT]<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple"|<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 02/02/18</span><br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Tentative de flash sur l’Arduino récupéré par Anthony au fablab, finalement réussi sur Windows.<br />
*Essai de l'exemple "HearthRate Monitor" avec connexion Bluetooth.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Création d'un [https://github.com/SmartMove-PolytechGrenoble/SmartMove dépot Github] se basant sur un Fork du Google Sample et qui aura ensuite pour but d'être intégré dans l'application finale créée par les autres. <br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Continuation de la formation TF Visionnage vidéos, notamment conférence sur deep learning adapté à Tensorflow<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Travail avec Clément pour faire fonctionner l'exemple en BLE sur son début d'appli. finalement fonctionnel en demandant l'utilisation du GPS sur android (Comme le requière la spécification BLE)<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Le GoogleSample se base sur un design [https://developer.android.com/reference/android/support/v7/app/AppCompatActivity.html AppCompat], ce qui n'est pas pratique pour l'intégration. Je me souviens avoir eu le même problème sur [http://air.imag.fr/index.php/UltraTeam UltraTeam]. Je le gèrerai cependant de façon opposée -> Au lieu de passer toute mon application sur le même design, je vais transformer le code pour l'utiliser sans ce Framework.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple"|<br />
<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 2==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 2</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 05/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur le AIR<br />
*Export des taches backlog sur Trello<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Début du code Arduino en partant de l'exemple "HeartRate Monitor"<br />
|<!-- Clément --> style="width: 280px;" |<br />
*L'APK fournie par un clone du [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT] ne trouve pas toujours les périphériques BLE environnants. Début des investigations<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Pas mal de difficultés lors du test, en raison de difficultés de debugging sur l'Arduino.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*L'application fonctionne sans soucis sur les plus anciennes versions d'Android mais semble avoir des soucis à partir d'une certaine version du SDK toujours indéterminée.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
*Étude des problématiques propres à notre projet : Stream de data, Dynamic Time<br />
|-<br />
<br />
<br />
|-<br />
<br />
| rowspan="2" | <span style="color:green">Mardi 06/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Étude avec Vincent d'une application utilisant de la détection de mouvement Tensor Flow sur Android. https://blog.lemberg.co.uk/motion-gesture-detection-using-tensorflow-android<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Avancement du code Arduino.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Résolution du bug. Il faut depuis le SDK 23 une autorisation de localisation pour faire fonctionner le Bluetooth. [https://stackoverflow.com/questions/32708374/bluetooth-le-scanfilters-dont-work-on-android-m Problème et solution détaillée]<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Etude d’un code de reconnaissance de mouvement tensorflow Android, + test, comprendre pour pouvoir modifier en conséquence<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Résolution des problèmes rencontrés la veille (Mauvais initialisation du module gérant les capteurs), puis travail sur l'envoie des données par blutooth.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*le problème a également fait l'objet de plusieurs [https://github.com/googlesamples/android-BluetoothLeGatt/pulls Pull Requests] sur le dépo. Certaines ont été validées mais aucune mergées.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 07/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Cours de management de projets innovants - 4h<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Finalisation du code arduino pour le moment.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Début du travail d'intégration du [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT] en tant qu'activité secondaire<br />
*La forme choisie est celle d'un [https://stackoverflow.com/questions/1979369/android-activity-as-a-dialog Dialog Activity] pour avoir une interaction ergonomique et user friendly<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Étude approfondie des modèles : il faut sûrement utiliser un LSTM <br />
<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Recherches sur les UUID (pour l'arduino).<br />
*Envoie des valeurs depuis l'arduino sous forme binaire (nécessite de séparer les octets des ints)<br />
*Mise sur Git du code arduino.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 08/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Diverses expérimentations avec le MotionGesture. Installation de Gesture Manager sur mon téléphone et record de quelques mouvemnts sur un seul capteur (ceux du téléphone). <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
<br />
<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 09/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
<br />
*Etude de l'appli MotionGestureDemo https://github.com/ryanchyshyn/motion_gestures_detection/tree/master/MotionGesturesDemo<br />
*L’intérêt de cette appli est qu'elle exécute un modèle Tensorflow. Le code nécessaire a cela est externalisé dans une librairie que nous pourrions éventuellement réutiliser<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Hackathlon<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Abandon du code trouvé précédemment car le modèle ne nous correspond pas. Reprise d’un code utilisant un modèle LSTM en Tensorflow, qui reconnait l’activité d’une personne (assis, debout, en train de marcher, montant des marches…)<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 3==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 3</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 12/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
<br />
*Recherche de modèle avec Vincent. Expérimentation avec un modèle LSTM : https://medium.com/@curiousily/human-activity-recognition-using-lstms-on-android-tensorflow-for-hackers-part-vi-492da5adef64<br />
*Prise en main de ce code <br />
<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Déchiffrage de codes utilisant un modèle LSTM : cela semble être un bon modèle pour notre cas, à voir les résultats pour des moves assez court.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 13/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Fork du modèle LSTM : https://github.com/SmartMove-PolytechGrenoble/TensorFlow-on-Android-for-Human-Activity-Recognition-with-LSTMs <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Modifications du code pour correspondre à notre formattage de données + modification du prétraitement des données<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 14/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Conception de la gestion des entraînements. Entraînements au sens "suite d'activités" que l'utilisateur peut faire et vouloir détecter<br />
*Soutenance mi parcours<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
* Résolution problèmes inconnus Tensorflow<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" | <br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 15/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours gestion<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours gestion<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours gestion<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours gestion<br />
* Test d'entraîner le modèle avec des jeux de données : impossible à faire tourner hardware trop faible.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 16/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Essai tensor flow sur mon CPU <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Faire tourner Tensorflow sur GPU : fonctionne mieux.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 4 (Vacances) ==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 4</span><br />
|-<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">/!\Vacances/!\</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Semaine du 19 au 25 février</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Clément --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Quelques tests sur SensorTag<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 5==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 5</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 26/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours de gestion<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de gestion<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de gestion<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de gestion<br />
* Début modification du code Android d'évalutation : comptabilisation, du nombre de mouvement, chronométrage.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 27/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (création d'entrainement et sauvegarde)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Début modification code enregistrement data. Objectif : labéliser, choisir librement les limites.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 28/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (création d'entrainement et sauvegarde)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Ajout du support du gyroscope<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 01/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (Visualisation)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Entraînement avec nos propres données : il faut beaucoup de données, avec peu de données la précision est vraiment mauvaise.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 02/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (Visualisation)<br />
* Réunion 2<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Réunion 2<br />
|<!-- Clément --> style="width: 280px;" |<br />
* Réunion 2<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Réunion 2<br />
* Récolte de plus de données.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 6 (En cours) ==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 6</span><br />
|-<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 05/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*MaJ Air<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Modif learning pour utiliser les nouvelles infos capteurs : gyroscope + accél, Modifications formattage des données (Python)<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 06/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Le vecteur angulaire n'est pas l'information qu'il nous faut mais plutôt la gravité : changement du code, et reprise de la récupération des données.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 07/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* En fait différentes variable pour l'apprentissage n'avaient pas été touchées, il est possible d'avoir de bons résultats avec peu de données.<br />
* Reprise des tests : très bonne précision avec seulement 40 secondes d'entraînement : les mouvements marcher et sauter sont distingués avec une très bonne précision en ligne droite.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 08/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Excusé (TOEIC)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Rectification après tests : il faut bien l'accélération angulaire, je n'ai pas le capteur sur mon téléphone, je reste sur des infos accéléromètre et c'est précis.<br />
* Multiples essais en faisant varier les variables pour l'apprentissage tensorflow.<br />
* Essais et modification du code pour pouvoir faire descendre le nombre de valeur en input assez bas : reconnaître les mouvements de toute durée.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 09/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 7 (à venir)==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 7</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 12/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
<br />
| rowspan="2" | <span style="color:green">Mardi 13/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 14/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 15/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
<br />
<br />
<br />
|-<br />
<br />
|}</div>
Clement.Rouquier
https://air.imag.fr/index.php?title=RICM5_2017-2018_-_SmartMove&diff=40500
RICM5 2017-2018 - SmartMove
2018-03-09T11:58:09Z
<p>Clement.Rouquier: /* Sprint 2 */</p>
<hr />
<div>=Smart Move=<br />
<br />
Smartmove est un ambitieux projet imaginé par quatre étudiants de [https://www.polytech-grenoble.fr/ Polytech Grenoble]. Smartmove est une approche nouvelle du sport avec l'IoT et l'apprentissage machine.<br />
<br />
[[File:Smart-move_logo.png|300px]]<br />
<br />
=Équipe du projet=<br />
{| class="wikitable"<br />
|-<br />
! scope="col" width="200px" | Membre<br />
! scope="col" | Rôles<br />
|-<br />
|Anthony Geourjon<br />
|Chef de projet<br />
|-<br />
|Timothée Lemaire<br />
|Responsable hardware (black belt thinkpad)<br />
|-<br />
|Clément Rouquier<br />
|Responsable Dofus<br />
|-<br />
|Vincent Turrin<br />
|Batteur<br />
|}<br />
<br />
* Supervisé par : Bernard Tourancheau, Didier Donsez<br />
<br />
=Abstract=<br />
In 2017, two highly innovative domains emerge : the Internet of Things and the Artificial Intelligence and especially the machine learning. These technological advances open new possibilities to imagine new ways to help people. In this project, we present our proposal for the [https://iot.eclipse.org/open-iot-challenge/ Open IoT challenge 4.0] organized by the [https://iot.eclipse.org Eclipse Foundation]. This project is also part of the course of Wireless Sensor Networks given by [http://drakkar.imag.fr/spip.php?auteur70&lang=en Prof. Bernard Tourancheau] at [https://www.polytech-grenoble.fr/ Polytech Grenoble] (Engineering school)<br />
<br />
===Mots clés===<br />
* IoT<br />
* Machine learning,<br />
* Sports<br />
<br />
=Présentation= <br />
<br />
Présentation du projet dans le cadre de l'Eclipse IoT challenge : [https://air.imag.fr/index.php/SmartMove Smartmove]<br />
<br />
=SCRUM=<br />
<br />
Une liste plus actualisé des tâches est disponible sur Trello : https://trello.com/b/RVfoU3gl/smart-move-first-tasks<br />
==Sprint 1 - Du 29/01/18 au 04/02/18 ==<br />
<br />
* Définition des rôles<br />
* Mise en place du projet pour tous les membres du groupe(Trello, Github)<br />
* Création de la page AIR pour la tenue de journal<br />
* Prise de contact avec les enseignants concernés<br />
* Début de la phase de conception <br />
<br />
* Séance de management de projets innovants<br />
** Rédaction d'une [https://docs.google.com/document/d/1nxa09q82hH2rLvTtIoq7b92gYE82TqpXkbv_IgrantQ/edit?usp=sharing fiche synthetique] de présentation du projet<br />
<br />
==Sprint 2 - Du 05/02/18 au 11/02/18 ==<br />
<br />
*Définition des taches et des deadline sur Trello<br />
*Première expérimentation avec différents modèles de machine learning. Nous faisons face à de très nombreuses contraintes comparé aux modèles que nous trouvons sur le net comme :<br />
** Nos données sont un flux continu et non un simple échantillon borné à analyser<br />
** Nous recevons des données de plusieurs capteurs, la synchronisation doit être quasi parfaite pour que les données est un sens.<br />
**Nous avons découvert des applications d'enregistrement de mouvement fonctionnant sur Android. https://blog.lemberg.co.uk/motion-gesture-detection-using-tensorflow-android<br />
* TODO parler de BLE et arduino<br />
* Cours de gestion de projet<br />
<br />
==Sprint 3 - Du 12/02/18 au 18/02/18 ==<br />
* Soutenance de mi parcours le mercredi 14/02 de 10h30-11h avec Didier Donsez et Bernard Tourancheau <br />
** Ils sont satisfait de la direction que prend le projet<br />
** Didier nous propose de remplacer les Arduino par des SensorTag qui seraient plus adaptés à nos besoins.<br />
*Expérimentations avec un modèle de machine learning prometteur (LSTP Long short term memory) https://github.com/SmartMove-PolytechGrenoble/TensorFlow-on-Android-for-Human-Activity-Recognition-with-LSTMs<br />
*Expérimentations d'entrainement de modèle sur nos machines -> problème de config sur GPU <br />
*Cours de gestion de projet<br />
<br />
==Sprint 4 - Du 19/02/18 au 25/02/18 ==<br />
Vacances<br />
<br />
==Sprint 5 - Du 26/02/18 au 04/03/18 ==<br />
<br />
*Premières expérimentations avec le SensorTag malgré les problèmes de piles.<br />
*Travail sur la gestion des entraînements (au sens, action que veut reconnaître l'utilisateur)<br />
*Cours de gestion des risques en projets<br />
*Réunion 1 de suivi avec Didier<br />
**Il est satisfait de nos avancées (communication téléphone/SensorTag, avancement dans le machine learning, etc)<br />
<br />
==Sprint 6 - Du 05/03/18 au 11/03/18 (en cours) ==<br />
*Réunion 2 de suivi avec Didier<br />
<br />
==Sprint 7 - Du 12/03/18 au 18/03/18 (prévisions) ==<br />
* Soutenance le jeudi 15/03 de 9h-10h<br />
* Préparation de la soutenance <br />
* Fusion de tous nos applications de développement en un démonstrateur pour la soutenance<br />
<br />
=Journal=<br />
<br />
==Sprint1==<br />
<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
<br />
|-<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 1</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 29/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Récupération du matériel au fablab (Arduino 101)<br />
*Tentative d'un flash d'un exemple sur la carte<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Lecture et compréhension des divers documents produits durant le S9 par les 3 autres membres du projet, un gros travail de conception ayant déjà été effectué en amont de mon arrivée<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
*Impossible de faire marcher quelque chose sur la carte pourtant elle est détecté<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Confrontation de l'idée que m'ont donné les documents de conception avec la vision des autres membres afin d'assurer une divergence de trajectoire aussi faible que possible<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 30/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Tentative d'un flash d'un exemple sur la carte<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*La technologie de communication entre les cartes et le téléphone s'effectuera sur la base du [https://developer.android.com/guide/topics/connectivity/bluetooth-le.html Bluetooth BLE]. Ayant déjà travaillé sur cette technologie sur le projet [http://air.imag.fr/index.php/UltraTeam UltraTeam], je ferai cette partie.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
*Le bootloader de la carte est broken et ne fonctionne depuis Linux, Avec Windows Timothée y arrive facilement<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Le BLE est une technologie qui m'avait donné beaucoup de tord durant le précédent projet et il m'intéresse de m'y remettre dessus. le nombre de ressources disponibles est assez peu limité et les ressources existantes ont généralement été conçues pour du HardWare spécial<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 31/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
Analyse du code d'[https://github.com/ultratrail/mobapp2 UltraTeam] pour voir ce qui est récupérable du travail déjà effectué dans le cadre du projet antérieur<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Etude problématique projet<br />
*Formation tensorflow : tuto simple, structure du code et concepts de base<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Je ne récupérerai que peu de code du précédent projet en raison du nombre important de bricolage. J'ai décidé de me rebaser quasi-exclusivement sur le [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT]<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple"|<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 02/02/18</span><br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Tentative de flash sur l’Arduino récupéré par Anthony au fablab, finalement réussi sur Windows.<br />
*Essai de l'exemple "HearthRate Monitor" avec connexion Bluetooth.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Création d'un [https://github.com/SmartMove-PolytechGrenoble/SmartMove dépot Github] se basant sur un Fork du Google Sample et qui aura ensuite pour but d'être intégré dans l'application finale créée par les autres. <br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Continuation de la formation TF Visionnage vidéos, notamment conférence sur deep learning adapté à Tensorflow<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Travail avec Clément pour faire fonctionner l'exemple en BLE sur son début d'appli. finalement fonctionnel en demandant l'utilisation du GPS sur android (Comme le requière la spécification BLE)<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Le GoogleSample se base sur un design [https://developer.android.com/reference/android/support/v7/app/AppCompatActivity.html AppCompat], ce qui n'est pas pratique pour l'intégration. Je me souviens avoir eu le même problème sur [http://air.imag.fr/index.php/UltraTeam UltraTeam]. Je le gèrerai cependant de façon opposée -> Au lieu de passer toute mon application sur le même design, je vais transformer le code pour l'utiliser sans ce Framework.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple"|<br />
<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 2==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 2</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 05/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur le AIR<br />
*Export des taches backlog sur Trello<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Début du code Arduino en partant de l'exemple "HeartRate Monitor"<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Intégration du [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT] en tant qu'activité secondaire<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Pas mal de difficultés lors du test, en raison de difficultés de debugging sur l'Arduino.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*La forme choisie est celle d'un [https://stackoverflow.com/questions/1979369/android-activity-as-a-dialog Dialog Activity] pour avoir une interaction ergonomique et user friendly<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
*Étude des problématiques propres à notre projet : Stream de data, Dynamic Time<br />
|-<br />
<br />
<br />
|-<br />
<br />
| rowspan="2" | <span style="color:green">Mardi 06/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Étude avec Vincent d'une application utilisant de la détection de mouvement Tensor Flow sur Android. https://blog.lemberg.co.uk/motion-gesture-detection-using-tensorflow-android<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Avancement du code Arduino.<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Etude d’un code de reconnaissance de mouvement tensorflow Android, + test, comprendre pour pouvoir modifier en conséquence<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Résolution des problèmes rencontrés la veille (Mauvais initialisation du module gérant les capteurs), puis travail sur l'envoie des données par blutooth.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 07/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Cours de management de projets innovants - 4h<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Finalisation du code arduino pour le moment.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Étude approfondie des modèles : il faut sûrement utiliser un LSTM <br />
<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Recherches sur les UUID (pour l'arduino).<br />
*Envoie des valeurs depuis l'arduino sous forme binaire (nécessite de séparer les octets des ints)<br />
*Mise sur Git du code arduino.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 08/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Diverses expérimentations avec le MotionGesture. Installation de Gesture Manager sur mon téléphone et record de quelques mouvemnts sur un seul capteur (ceux du téléphone). <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
<br />
<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 09/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
<br />
*Etude de l'appli MotionGestureDemo https://github.com/ryanchyshyn/motion_gestures_detection/tree/master/MotionGesturesDemo<br />
*L’intérêt de cette appli est qu'elle exécute un modèle Tensorflow. Le code nécessaire a cela est externalisé dans une librairie que nous pourrions éventuellement réutiliser<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Hackathlon<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Abandon du code trouvé précédemment car le modèle ne nous correspond pas. Reprise d’un code utilisant un modèle LSTM en Tensorflow, qui reconnait l’activité d’une personne (assis, debout, en train de marcher, montant des marches…)<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 3==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 3</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 12/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
<br />
*Recherche de modèle avec Vincent. Expérimentation avec un modèle LSTM : https://medium.com/@curiousily/human-activity-recognition-using-lstms-on-android-tensorflow-for-hackers-part-vi-492da5adef64<br />
*Prise en main de ce code <br />
<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Déchiffrage de codes utilisant un modèle LSTM : cela semble être un bon modèle pour notre cas, à voir les résultats pour des moves assez court.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 13/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Fork du modèle LSTM : https://github.com/SmartMove-PolytechGrenoble/TensorFlow-on-Android-for-Human-Activity-Recognition-with-LSTMs <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Modifications du code pour correspondre à notre formattage de données + modification du prétraitement des données<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 14/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Conception de la gestion des entraînements. Entraînements au sens "suite d'activités" que l'utilisateur peut faire et vouloir détecter<br />
*Soutenance mi parcours<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
* Résolution problèmes inconnus Tensorflow<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" | <br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 15/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours gestion<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours gestion<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours gestion<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours gestion<br />
* Test d'entraîner le modèle avec des jeux de données : impossible à faire tourner hardware trop faible.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 16/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Essai tensor flow sur mon CPU <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Faire tourner Tensorflow sur GPU : fonctionne mieux.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 4 (Vacances) ==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 4</span><br />
|-<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">/!\Vacances/!\</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Semaine du 19 au 25 février</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Clément --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Quelques tests sur SensorTag<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 5==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 5</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 26/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours de gestion<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de gestion<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de gestion<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de gestion<br />
* Début modification du code Android d'évalutation : comptabilisation, du nombre de mouvement, chronométrage.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 27/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (création d'entrainement et sauvegarde)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Début modification code enregistrement data. Objectif : labéliser, choisir librement les limites.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 28/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (création d'entrainement et sauvegarde)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Ajout du support du gyroscope<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 01/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (Visualisation)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Entraînement avec nos propres données : il faut beaucoup de données, avec peu de données la précision est vraiment mauvaise.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 02/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (Visualisation)<br />
* Réunion 2<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Réunion 2<br />
|<!-- Clément --> style="width: 280px;" |<br />
* Réunion 2<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Réunion 2<br />
* Récolte de plus de données.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 6 (En cours) ==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 6</span><br />
|-<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 05/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*MaJ Air<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Modif learning pour utiliser les nouvelles infos capteurs : gyroscope + accél, Modifications formattage des données (Python)<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 06/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Le vecteur angulaire n'est pas l'information qu'il nous faut mais plutôt la gravité : changement du code, et reprise de la récupération des données.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 07/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* En fait différentes variable pour l'apprentissage n'avaient pas été touchées, il est possible d'avoir de bons résultats avec peu de données.<br />
* Reprise des tests : très bonne précision avec seulement 40 secondes d'entraînement : les mouvements marcher et sauter sont distingués avec une très bonne précision en ligne droite.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 08/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Excusé (TOEIC)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Rectification après tests : il faut bien l'accélération angulaire, je n'ai pas le capteur sur mon téléphone, je reste sur des infos accéléromètre et c'est précis.<br />
* Multiples essais en faisant varier les variables pour l'apprentissage tensorflow.<br />
* Essais et modification du code pour pouvoir faire descendre le nombre de valeur en input assez bas : reconnaître les mouvements de toute durée.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 09/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 7 (à venir)==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 7</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 12/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
<br />
| rowspan="2" | <span style="color:green">Mardi 13/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 14/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 15/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
<br />
<br />
<br />
|-<br />
<br />
|}</div>
Clement.Rouquier
https://air.imag.fr/index.php?title=RICM5_2017-2018_-_SmartMove&diff=40499
RICM5 2017-2018 - SmartMove
2018-03-09T09:46:25Z
<p>Clement.Rouquier: /* Sprint1 */</p>
<hr />
<div>=Smart Move=<br />
<br />
Smartmove est un ambitieux projet imaginé par quatre étudiants de [https://www.polytech-grenoble.fr/ Polytech Grenoble]. Smartmove est une approche nouvelle du sport avec l'IoT et l'apprentissage machine.<br />
<br />
[[File:Smart-move_logo.png|300px]]<br />
<br />
=Équipe du projet=<br />
{| class="wikitable"<br />
|-<br />
! scope="col" width="200px" | Membre<br />
! scope="col" | Rôles<br />
|-<br />
|Anthony Geourjon<br />
|Chef de projet<br />
|-<br />
|Timothée Lemaire<br />
|Responsable hardware (black belt thinkpad)<br />
|-<br />
|Clément Rouquier<br />
|Responsable Dofus<br />
|-<br />
|Vincent Turrin<br />
|Batteur<br />
|}<br />
<br />
* Supervisé par : Bernard Tourancheau, Didier Donsez<br />
<br />
=Abstract=<br />
In 2017, two highly innovative domains emerge : the Internet of Things and the Artificial Intelligence and especially the machine learning. These technological advances open new possibilities to imagine new ways to help people. In this project, we present our proposal for the [https://iot.eclipse.org/open-iot-challenge/ Open IoT challenge 4.0] organized by the [https://iot.eclipse.org Eclipse Foundation]. This project is also part of the course of Wireless Sensor Networks given by [http://drakkar.imag.fr/spip.php?auteur70&lang=en Prof. Bernard Tourancheau] at [https://www.polytech-grenoble.fr/ Polytech Grenoble] (Engineering school)<br />
<br />
===Mots clés===<br />
* IoT<br />
* Machine learning,<br />
* Sports<br />
<br />
=Présentation= <br />
<br />
Présentation du projet dans le cadre de l'Eclipse IoT challenge : [https://air.imag.fr/index.php/SmartMove Smartmove]<br />
<br />
=SCRUM=<br />
<br />
Une liste plus actualisé des tâches est disponible sur Trello : https://trello.com/b/RVfoU3gl/smart-move-first-tasks<br />
==Sprint 1 - Du 29/01/18 au 04/02/18 ==<br />
<br />
* Définition des rôles<br />
* Mise en place du projet pour tous les membres du groupe(Trello, Github)<br />
* Création de la page AIR pour la tenue de journal<br />
* Prise de contact avec les enseignants concernés<br />
* Début de la phase de conception <br />
<br />
* Séance de management de projets innovants<br />
** Rédaction d'une [https://docs.google.com/document/d/1nxa09q82hH2rLvTtIoq7b92gYE82TqpXkbv_IgrantQ/edit?usp=sharing fiche synthetique] de présentation du projet<br />
<br />
==Sprint 2 - Du 05/02/18 au 11/02/18 ==<br />
<br />
*Définition des taches et des deadline sur Trello<br />
*Première expérimentation avec différents modèles de machine learning. Nous faisons face à de très nombreuses contraintes comparé aux modèles que nous trouvons sur le net comme :<br />
** Nos données sont un flux continu et non un simple échantillon borné à analyser<br />
** Nous recevons des données de plusieurs capteurs, la synchronisation doit être quasi parfaite pour que les données est un sens.<br />
**Nous avons découvert des applications d'enregistrement de mouvement fonctionnant sur Android. https://blog.lemberg.co.uk/motion-gesture-detection-using-tensorflow-android<br />
* TODO parler de BLE et arduino<br />
* Cours de gestion de projet<br />
<br />
==Sprint 3 - Du 12/02/18 au 18/02/18 ==<br />
* Soutenance de mi parcours le mercredi 14/02 de 10h30-11h avec Didier Donsez et Bernard Tourancheau <br />
** Ils sont satisfait de la direction que prend le projet<br />
** Didier nous propose de remplacer les Arduino par des SensorTag qui seraient plus adaptés à nos besoins.<br />
*Expérimentations avec un modèle de machine learning prometteur (LSTP Long short term memory) https://github.com/SmartMove-PolytechGrenoble/TensorFlow-on-Android-for-Human-Activity-Recognition-with-LSTMs<br />
*Expérimentations d'entrainement de modèle sur nos machines -> problème de config sur GPU <br />
*Cours de gestion de projet<br />
<br />
==Sprint 4 - Du 19/02/18 au 25/02/18 ==<br />
Vacances<br />
<br />
==Sprint 5 - Du 26/02/18 au 04/03/18 ==<br />
<br />
*Premières expérimentations avec le SensorTag malgré les problèmes de piles.<br />
*Travail sur la gestion des entraînements (au sens, action que veut reconnaître l'utilisateur)<br />
*Cours de gestion des risques en projets<br />
*Réunion 1 de suivi avec Didier<br />
**Il est satisfait de nos avancées (communication téléphone/SensorTag, avancement dans le machine learning, etc)<br />
<br />
==Sprint 6 - Du 05/03/18 au 11/03/18 (en cours) ==<br />
*Réunion 2 de suivi avec Didier<br />
<br />
==Sprint 7 - Du 12/03/18 au 18/03/18 (prévisions) ==<br />
* Soutenance le jeudi 15/03 de 9h-10h<br />
* Préparation de la soutenance <br />
* Fusion de tous nos applications de développement en un démonstrateur pour la soutenance<br />
<br />
=Journal=<br />
<br />
==Sprint1==<br />
<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
<br />
|-<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 1</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 29/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Récupération du matériel au fablab (Arduino 101)<br />
*Tentative d'un flash d'un exemple sur la carte<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Lecture et compréhension des divers documents produits durant le S9 par les 3 autres membres du projet, un gros travail de conception ayant déjà été effectué en amont de mon arrivée<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
*Impossible de faire marcher quelque chose sur la carte pourtant elle est détecté<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Confrontation de l'idée que m'ont donné les documents de conception avec la vision des autres membres afin d'assurer une divergence de trajectoire aussi faible que possible<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 30/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Tentative d'un flash d'un exemple sur la carte<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*La technologie de communication entre les cartes et le téléphone s'effectuera sur la base du [https://developer.android.com/guide/topics/connectivity/bluetooth-le.html Bluetooth BLE]. Ayant déjà travaillé sur cette technologie sur le projet [http://air.imag.fr/index.php/UltraTeam UltraTeam], je ferai cette partie.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
*Le bootloader de la carte est broken et ne fonctionne depuis Linux, Avec Windows Timothée y arrive facilement<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Le BLE est une technologie qui m'avait donné beaucoup de tord durant le précédent projet et il m'intéresse de m'y remettre dessus. le nombre de ressources disponibles est assez peu limité et les ressources existantes ont généralement été conçues pour du HardWare spécial<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 31/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
Analyse du code d'[https://github.com/ultratrail/mobapp2 UltraTeam] pour voir ce qui est récupérable du travail déjà effectué dans le cadre du projet antérieur<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Etude problématique projet<br />
*Formation tensorflow : tuto simple, structure du code et concepts de base<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Je ne récupérerai que peu de code du précédent projet en raison du nombre important de bricolage. J'ai décidé de me rebaser quasi-exclusivement sur le [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT]<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple"|<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 02/02/18</span><br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Tentative de flash sur l’Arduino récupéré par Anthony au fablab, finalement réussi sur Windows.<br />
*Essai de l'exemple "HearthRate Monitor" avec connexion Bluetooth.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Création d'un [https://github.com/SmartMove-PolytechGrenoble/SmartMove dépot Github] se basant sur un Fork du Google Sample et qui aura ensuite pour but d'être intégré dans l'application finale créée par les autres. <br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Continuation de la formation TF Visionnage vidéos, notamment conférence sur deep learning adapté à Tensorflow<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Travail avec Clément pour faire fonctionner l'exemple en BLE sur son début d'appli. finalement fonctionnel en demandant l'utilisation du GPS sur android (Comme le requière la spécification BLE)<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Le GoogleSample se base sur un design [https://developer.android.com/reference/android/support/v7/app/AppCompatActivity.html AppCompat], ce qui n'est pas pratique pour l'intégration. Je me souviens avoir eu le même problème sur [http://air.imag.fr/index.php/UltraTeam UltraTeam]. Je le gèrerai cependant de façon opposée -> Au lieu de passer toute mon application sur le même design, je vais transformer le code pour l'utiliser sans ce Framework.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple"|<br />
<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 2==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 2</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 05/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur le AIR<br />
*Export des taches backlog sur Trello<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Début du code Arduino en partant de l'exemple "HeartRate Monitor"<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Pas mal de difficultés lors du test, en raison de difficultés de debugging sur l'Arduino.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
*Étude des problématiques propres à notre projet : Stream de data, Dynamic Time<br />
|-<br />
<br />
<br />
|-<br />
<br />
| rowspan="2" | <span style="color:green">Mardi 06/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Étude avec Vincent d'une application utilisant de la détection de mouvement Tensor Flow sur Android. https://blog.lemberg.co.uk/motion-gesture-detection-using-tensorflow-android<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Avancement du code Arduino.<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Etude d’un code de reconnaissance de mouvement tensorflow Android, + test, comprendre pour pouvoir modifier en conséquence<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Résolution des problèmes rencontrés la veille (Mauvais initialisation du module gérant les capteurs), puis travail sur l'envoie des données par blutooth.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 07/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Cours de management de projets innovants - 4h<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Finalisation du code arduino pour le moment.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Étude approfondie des modèles : il faut sûrement utiliser un LSTM <br />
<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Recherches sur les UUID (pour l'arduino).<br />
*Envoie des valeurs depuis l'arduino sous forme binaire (nécessite de séparer les octets des ints)<br />
*Mise sur Git du code arduino.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 08/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Diverses expérimentations avec le MotionGesture. Installation de Gesture Manager sur mon téléphone et record de quelques mouvemnts sur un seul capteur (ceux du téléphone). <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
<br />
<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 09/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
<br />
*Etude de l'appli MotionGestureDemo https://github.com/ryanchyshyn/motion_gestures_detection/tree/master/MotionGesturesDemo<br />
*L’intérêt de cette appli est qu'elle exécute un modèle Tensorflow. Le code nécessaire a cela est externalisé dans une librairie que nous pourrions éventuellement réutiliser<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Hackathlon<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Abandon du code trouvé précédemment car le modèle ne nous correspond pas. Reprise d’un code utilisant un modèle LSTM en Tensorflow, qui reconnait l’activité d’une personne (assis, debout, en train de marcher, montant des marches…)<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 3==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 3</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 12/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
<br />
*Recherche de modèle avec Vincent. Expérimentation avec un modèle LSTM : https://medium.com/@curiousily/human-activity-recognition-using-lstms-on-android-tensorflow-for-hackers-part-vi-492da5adef64<br />
*Prise en main de ce code <br />
<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Déchiffrage de codes utilisant un modèle LSTM : cela semble être un bon modèle pour notre cas, à voir les résultats pour des moves assez court.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 13/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Fork du modèle LSTM : https://github.com/SmartMove-PolytechGrenoble/TensorFlow-on-Android-for-Human-Activity-Recognition-with-LSTMs <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Modifications du code pour correspondre à notre formattage de données + modification du prétraitement des données<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 14/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Conception de la gestion des entraînements. Entraînements au sens "suite d'activités" que l'utilisateur peut faire et vouloir détecter<br />
*Soutenance mi parcours<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
* Résolution problèmes inconnus Tensorflow<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" | <br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 15/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours gestion<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours gestion<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours gestion<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours gestion<br />
* Test d'entraîner le modèle avec des jeux de données : impossible à faire tourner hardware trop faible.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 16/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Essai tensor flow sur mon CPU <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Faire tourner Tensorflow sur GPU : fonctionne mieux.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 4 (Vacances) ==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 4</span><br />
|-<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">/!\Vacances/!\</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Semaine du 19 au 25 février</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Clément --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Quelques tests sur SensorTag<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 5==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 5</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 26/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours de gestion<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de gestion<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de gestion<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de gestion<br />
* Début modification du code Android d'évalutation : comptabilisation, du nombre de mouvement, chronométrage.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 27/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (création d'entrainement et sauvegarde)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Début modification code enregistrement data. Objectif : labéliser, choisir librement les limites.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 28/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (création d'entrainement et sauvegarde)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Ajout du support du gyroscope<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 01/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (Visualisation)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Entraînement avec nos propres données : il faut beaucoup de données, avec peu de données la précision est vraiment mauvaise.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 02/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (Visualisation)<br />
* Réunion 2<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Réunion 2<br />
|<!-- Clément --> style="width: 280px;" |<br />
* Réunion 2<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Réunion 2<br />
* Récolte de plus de données.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 6 (En cours) ==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 6</span><br />
|-<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 05/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*MaJ Air<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Modif learning pour utiliser les nouvelles infos capteurs : gyroscope + accél, Modifications formattage des données (Python)<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 06/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Le vecteur angulaire n'est pas l'information qu'il nous faut mais plutôt la gravité : changement du code, et reprise de la récupération des données.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 07/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* En fait différentes variable pour l'apprentissage n'avaient pas été touchées, il est possible d'avoir de bons résultats avec peu de données.<br />
* Reprise des tests : très bonne précision avec seulement 40 secondes d'entraînement : les mouvements marcher et sauter sont distingués avec une très bonne précision en ligne droite.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 08/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Excusé (TOEIC)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Rectification après tests : il faut bien l'accélération angulaire, je n'ai pas le capteur sur mon téléphone, je reste sur des infos accéléromètre et c'est précis.<br />
* Multiples essais en faisant varier les variables pour l'apprentissage tensorflow.<br />
* Essais et modification du code pour pouvoir faire descendre le nombre de valeur en input assez bas : reconnaître les mouvements de toute durée.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 09/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 7 (à venir)==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 7</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 12/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
<br />
| rowspan="2" | <span style="color:green">Mardi 13/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 14/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 15/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
<br />
<br />
<br />
|-<br />
<br />
|}</div>
Clement.Rouquier
https://air.imag.fr/index.php?title=RICM5_2017-2018_-_SmartMove&diff=40498
RICM5 2017-2018 - SmartMove
2018-03-09T09:46:00Z
<p>Clement.Rouquier: /* Sprint1 */</p>
<hr />
<div>=Smart Move=<br />
<br />
Smartmove est un ambitieux projet imaginé par quatre étudiants de [https://www.polytech-grenoble.fr/ Polytech Grenoble]. Smartmove est une approche nouvelle du sport avec l'IoT et l'apprentissage machine.<br />
<br />
[[File:Smart-move_logo.png|300px]]<br />
<br />
=Équipe du projet=<br />
{| class="wikitable"<br />
|-<br />
! scope="col" width="200px" | Membre<br />
! scope="col" | Rôles<br />
|-<br />
|Anthony Geourjon<br />
|Chef de projet<br />
|-<br />
|Timothée Lemaire<br />
|Responsable hardware (black belt thinkpad)<br />
|-<br />
|Clément Rouquier<br />
|Responsable Dofus<br />
|-<br />
|Vincent Turrin<br />
|Batteur<br />
|}<br />
<br />
* Supervisé par : Bernard Tourancheau, Didier Donsez<br />
<br />
=Abstract=<br />
In 2017, two highly innovative domains emerge : the Internet of Things and the Artificial Intelligence and especially the machine learning. These technological advances open new possibilities to imagine new ways to help people. In this project, we present our proposal for the [https://iot.eclipse.org/open-iot-challenge/ Open IoT challenge 4.0] organized by the [https://iot.eclipse.org Eclipse Foundation]. This project is also part of the course of Wireless Sensor Networks given by [http://drakkar.imag.fr/spip.php?auteur70&lang=en Prof. Bernard Tourancheau] at [https://www.polytech-grenoble.fr/ Polytech Grenoble] (Engineering school)<br />
<br />
===Mots clés===<br />
* IoT<br />
* Machine learning,<br />
* Sports<br />
<br />
=Présentation= <br />
<br />
Présentation du projet dans le cadre de l'Eclipse IoT challenge : [https://air.imag.fr/index.php/SmartMove Smartmove]<br />
<br />
=SCRUM=<br />
<br />
Une liste plus actualisé des tâches est disponible sur Trello : https://trello.com/b/RVfoU3gl/smart-move-first-tasks<br />
==Sprint 1 - Du 29/01/18 au 04/02/18 ==<br />
<br />
* Définition des rôles<br />
* Mise en place du projet pour tous les membres du groupe(Trello, Github)<br />
* Création de la page AIR pour la tenue de journal<br />
* Prise de contact avec les enseignants concernés<br />
* Début de la phase de conception <br />
<br />
* Séance de management de projets innovants<br />
** Rédaction d'une [https://docs.google.com/document/d/1nxa09q82hH2rLvTtIoq7b92gYE82TqpXkbv_IgrantQ/edit?usp=sharing fiche synthetique] de présentation du projet<br />
<br />
==Sprint 2 - Du 05/02/18 au 11/02/18 ==<br />
<br />
*Définition des taches et des deadline sur Trello<br />
*Première expérimentation avec différents modèles de machine learning. Nous faisons face à de très nombreuses contraintes comparé aux modèles que nous trouvons sur le net comme :<br />
** Nos données sont un flux continu et non un simple échantillon borné à analyser<br />
** Nous recevons des données de plusieurs capteurs, la synchronisation doit être quasi parfaite pour que les données est un sens.<br />
**Nous avons découvert des applications d'enregistrement de mouvement fonctionnant sur Android. https://blog.lemberg.co.uk/motion-gesture-detection-using-tensorflow-android<br />
* TODO parler de BLE et arduino<br />
* Cours de gestion de projet<br />
<br />
==Sprint 3 - Du 12/02/18 au 18/02/18 ==<br />
* Soutenance de mi parcours le mercredi 14/02 de 10h30-11h avec Didier Donsez et Bernard Tourancheau <br />
** Ils sont satisfait de la direction que prend le projet<br />
** Didier nous propose de remplacer les Arduino par des SensorTag qui seraient plus adaptés à nos besoins.<br />
*Expérimentations avec un modèle de machine learning prometteur (LSTP Long short term memory) https://github.com/SmartMove-PolytechGrenoble/TensorFlow-on-Android-for-Human-Activity-Recognition-with-LSTMs<br />
*Expérimentations d'entrainement de modèle sur nos machines -> problème de config sur GPU <br />
*Cours de gestion de projet<br />
<br />
==Sprint 4 - Du 19/02/18 au 25/02/18 ==<br />
Vacances<br />
<br />
==Sprint 5 - Du 26/02/18 au 04/03/18 ==<br />
<br />
*Premières expérimentations avec le SensorTag malgré les problèmes de piles.<br />
*Travail sur la gestion des entraînements (au sens, action que veut reconnaître l'utilisateur)<br />
*Cours de gestion des risques en projets<br />
*Réunion 1 de suivi avec Didier<br />
**Il est satisfait de nos avancées (communication téléphone/SensorTag, avancement dans le machine learning, etc)<br />
<br />
==Sprint 6 - Du 05/03/18 au 11/03/18 (en cours) ==<br />
*Réunion 2 de suivi avec Didier<br />
<br />
==Sprint 7 - Du 12/03/18 au 18/03/18 (prévisions) ==<br />
* Soutenance le jeudi 15/03 de 9h-10h<br />
* Préparation de la soutenance <br />
* Fusion de tous nos applications de développement en un démonstrateur pour la soutenance<br />
<br />
=Journal=<br />
<br />
==Sprint1==<br />
<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
<br />
|-<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 1</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 29/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Récupération du matériel au fablab (Arduino 101)<br />
*Tentative d'un flash d'un exemple sur la carte<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Lecture et compréhension des divers documents produits durant le S9 par les 3 autres membres du projet, un gros travail de conception ayant déjà été effectué en amont de mon arrivée<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
*Impossible de faire marcher quelque chose sur la carte pourtant elle est détecté<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Confrontation de l'idée que m'ont donné les documents de conception avec la vision des autres membres afin d'assurer une divergence de trajectoire aussi faible que possible<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 30/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Tentative d'un flash d'un exemple sur la carte<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*La technologie de communication entre les cartes et le téléphone s'effectuera sur la base du [https://developer.android.com/guide/topics/connectivity/bluetooth-le.html Bluetooth BLE]. Ayant déjà travaillé sur cette technologie sur le projet [UltraTeam http://air.imag.fr/index.php/UltraTeam], je ferai cette partie.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
*Le bootloader de la carte est broken et ne fonctionne depuis Linux, Avec Windows Timothée y arrive facilement<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Le BLE est une technologie qui m'avait donné beaucoup de tord durant le précédent projet et il m'intéresse de m'y remettre dessus. le nombre de ressources disponibles est assez peu limité et les ressources existantes ont généralement été conçues pour du HardWare spécial<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 31/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
Analyse du code d'[https://github.com/ultratrail/mobapp2 UltraTeam] pour voir ce qui est récupérable du travail déjà effectué dans le cadre du projet antérieur<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Etude problématique projet<br />
*Formation tensorflow : tuto simple, structure du code et concepts de base<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Je ne récupérerai que peu de code du précédent projet en raison du nombre important de bricolage. J'ai décidé de me rebaser quasi-exclusivement sur le [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT]<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple"|<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 02/02/18</span><br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Tentative de flash sur l’Arduino récupéré par Anthony au fablab, finalement réussi sur Windows.<br />
*Essai de l'exemple "HearthRate Monitor" avec connexion Bluetooth.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Création d'un [https://github.com/SmartMove-PolytechGrenoble/SmartMove dépot Github] se basant sur un Fork du Google Sample et qui aura ensuite pour but d'être intégré dans l'application finale créée par les autres. <br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Continuation de la formation TF Visionnage vidéos, notamment conférence sur deep learning adapté à Tensorflow<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Travail avec Clément pour faire fonctionner l'exemple en BLE sur son début d'appli. finalement fonctionnel en demandant l'utilisation du GPS sur android (Comme le requière la spécification BLE)<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Le GoogleSample se base sur un design [https://developer.android.com/reference/android/support/v7/app/AppCompatActivity.html AppCompat], ce qui n'est pas pratique pour l'intégration. Je me souviens avoir eu le même problème sur [http://air.imag.fr/index.php/UltraTeam UltraTeam]. Je le gèrerai cependant de façon opposée -> Au lieu de passer toute mon application sur le même design, je vais transformer le code pour l'utiliser sans ce Framework.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple"|<br />
<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 2==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 2</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 05/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur le AIR<br />
*Export des taches backlog sur Trello<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Début du code Arduino en partant de l'exemple "HeartRate Monitor"<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Pas mal de difficultés lors du test, en raison de difficultés de debugging sur l'Arduino.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
*Étude des problématiques propres à notre projet : Stream de data, Dynamic Time<br />
|-<br />
<br />
<br />
|-<br />
<br />
| rowspan="2" | <span style="color:green">Mardi 06/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Étude avec Vincent d'une application utilisant de la détection de mouvement Tensor Flow sur Android. https://blog.lemberg.co.uk/motion-gesture-detection-using-tensorflow-android<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Avancement du code Arduino.<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Etude d’un code de reconnaissance de mouvement tensorflow Android, + test, comprendre pour pouvoir modifier en conséquence<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Résolution des problèmes rencontrés la veille (Mauvais initialisation du module gérant les capteurs), puis travail sur l'envoie des données par blutooth.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 07/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Cours de management de projets innovants - 4h<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Finalisation du code arduino pour le moment.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Étude approfondie des modèles : il faut sûrement utiliser un LSTM <br />
<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Recherches sur les UUID (pour l'arduino).<br />
*Envoie des valeurs depuis l'arduino sous forme binaire (nécessite de séparer les octets des ints)<br />
*Mise sur Git du code arduino.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 08/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Diverses expérimentations avec le MotionGesture. Installation de Gesture Manager sur mon téléphone et record de quelques mouvemnts sur un seul capteur (ceux du téléphone). <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
<br />
<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 09/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
<br />
*Etude de l'appli MotionGestureDemo https://github.com/ryanchyshyn/motion_gestures_detection/tree/master/MotionGesturesDemo<br />
*L’intérêt de cette appli est qu'elle exécute un modèle Tensorflow. Le code nécessaire a cela est externalisé dans une librairie que nous pourrions éventuellement réutiliser<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Hackathlon<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Abandon du code trouvé précédemment car le modèle ne nous correspond pas. Reprise d’un code utilisant un modèle LSTM en Tensorflow, qui reconnait l’activité d’une personne (assis, debout, en train de marcher, montant des marches…)<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 3==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 3</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 12/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
<br />
*Recherche de modèle avec Vincent. Expérimentation avec un modèle LSTM : https://medium.com/@curiousily/human-activity-recognition-using-lstms-on-android-tensorflow-for-hackers-part-vi-492da5adef64<br />
*Prise en main de ce code <br />
<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Déchiffrage de codes utilisant un modèle LSTM : cela semble être un bon modèle pour notre cas, à voir les résultats pour des moves assez court.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 13/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Fork du modèle LSTM : https://github.com/SmartMove-PolytechGrenoble/TensorFlow-on-Android-for-Human-Activity-Recognition-with-LSTMs <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Modifications du code pour correspondre à notre formattage de données + modification du prétraitement des données<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 14/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Conception de la gestion des entraînements. Entraînements au sens "suite d'activités" que l'utilisateur peut faire et vouloir détecter<br />
*Soutenance mi parcours<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
* Résolution problèmes inconnus Tensorflow<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" | <br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 15/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours gestion<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours gestion<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours gestion<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours gestion<br />
* Test d'entraîner le modèle avec des jeux de données : impossible à faire tourner hardware trop faible.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 16/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Essai tensor flow sur mon CPU <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Faire tourner Tensorflow sur GPU : fonctionne mieux.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 4 (Vacances) ==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 4</span><br />
|-<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">/!\Vacances/!\</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Semaine du 19 au 25 février</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Clément --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Quelques tests sur SensorTag<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 5==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 5</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 26/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours de gestion<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de gestion<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de gestion<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de gestion<br />
* Début modification du code Android d'évalutation : comptabilisation, du nombre de mouvement, chronométrage.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 27/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (création d'entrainement et sauvegarde)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Début modification code enregistrement data. Objectif : labéliser, choisir librement les limites.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 28/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (création d'entrainement et sauvegarde)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Ajout du support du gyroscope<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 01/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (Visualisation)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Entraînement avec nos propres données : il faut beaucoup de données, avec peu de données la précision est vraiment mauvaise.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 02/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (Visualisation)<br />
* Réunion 2<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Réunion 2<br />
|<!-- Clément --> style="width: 280px;" |<br />
* Réunion 2<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Réunion 2<br />
* Récolte de plus de données.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 6 (En cours) ==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 6</span><br />
|-<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 05/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*MaJ Air<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Modif learning pour utiliser les nouvelles infos capteurs : gyroscope + accél, Modifications formattage des données (Python)<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 06/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Le vecteur angulaire n'est pas l'information qu'il nous faut mais plutôt la gravité : changement du code, et reprise de la récupération des données.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 07/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* En fait différentes variable pour l'apprentissage n'avaient pas été touchées, il est possible d'avoir de bons résultats avec peu de données.<br />
* Reprise des tests : très bonne précision avec seulement 40 secondes d'entraînement : les mouvements marcher et sauter sont distingués avec une très bonne précision en ligne droite.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 08/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Excusé (TOEIC)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Rectification après tests : il faut bien l'accélération angulaire, je n'ai pas le capteur sur mon téléphone, je reste sur des infos accéléromètre et c'est précis.<br />
* Multiples essais en faisant varier les variables pour l'apprentissage tensorflow.<br />
* Essais et modification du code pour pouvoir faire descendre le nombre de valeur en input assez bas : reconnaître les mouvements de toute durée.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 09/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 7 (à venir)==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 7</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 12/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
<br />
| rowspan="2" | <span style="color:green">Mardi 13/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 14/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 15/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
<br />
<br />
<br />
|-<br />
<br />
|}</div>
Clement.Rouquier
https://air.imag.fr/index.php?title=RICM5_2017-2018_-_SmartMove&diff=40497
RICM5 2017-2018 - SmartMove
2018-03-09T09:45:19Z
<p>Clement.Rouquier: /* Sprint1 */</p>
<hr />
<div>=Smart Move=<br />
<br />
Smartmove est un ambitieux projet imaginé par quatre étudiants de [https://www.polytech-grenoble.fr/ Polytech Grenoble]. Smartmove est une approche nouvelle du sport avec l'IoT et l'apprentissage machine.<br />
<br />
[[File:Smart-move_logo.png|300px]]<br />
<br />
=Équipe du projet=<br />
{| class="wikitable"<br />
|-<br />
! scope="col" width="200px" | Membre<br />
! scope="col" | Rôles<br />
|-<br />
|Anthony Geourjon<br />
|Chef de projet<br />
|-<br />
|Timothée Lemaire<br />
|Responsable hardware (black belt thinkpad)<br />
|-<br />
|Clément Rouquier<br />
|Responsable Dofus<br />
|-<br />
|Vincent Turrin<br />
|Batteur<br />
|}<br />
<br />
* Supervisé par : Bernard Tourancheau, Didier Donsez<br />
<br />
=Abstract=<br />
In 2017, two highly innovative domains emerge : the Internet of Things and the Artificial Intelligence and especially the machine learning. These technological advances open new possibilities to imagine new ways to help people. In this project, we present our proposal for the [https://iot.eclipse.org/open-iot-challenge/ Open IoT challenge 4.0] organized by the [https://iot.eclipse.org Eclipse Foundation]. This project is also part of the course of Wireless Sensor Networks given by [http://drakkar.imag.fr/spip.php?auteur70&lang=en Prof. Bernard Tourancheau] at [https://www.polytech-grenoble.fr/ Polytech Grenoble] (Engineering school)<br />
<br />
===Mots clés===<br />
* IoT<br />
* Machine learning,<br />
* Sports<br />
<br />
=Présentation= <br />
<br />
Présentation du projet dans le cadre de l'Eclipse IoT challenge : [https://air.imag.fr/index.php/SmartMove Smartmove]<br />
<br />
=SCRUM=<br />
<br />
Une liste plus actualisé des tâches est disponible sur Trello : https://trello.com/b/RVfoU3gl/smart-move-first-tasks<br />
==Sprint 1 - Du 29/01/18 au 04/02/18 ==<br />
<br />
* Définition des rôles<br />
* Mise en place du projet pour tous les membres du groupe(Trello, Github)<br />
* Création de la page AIR pour la tenue de journal<br />
* Prise de contact avec les enseignants concernés<br />
* Début de la phase de conception <br />
<br />
* Séance de management de projets innovants<br />
** Rédaction d'une [https://docs.google.com/document/d/1nxa09q82hH2rLvTtIoq7b92gYE82TqpXkbv_IgrantQ/edit?usp=sharing fiche synthetique] de présentation du projet<br />
<br />
==Sprint 2 - Du 05/02/18 au 11/02/18 ==<br />
<br />
*Définition des taches et des deadline sur Trello<br />
*Première expérimentation avec différents modèles de machine learning. Nous faisons face à de très nombreuses contraintes comparé aux modèles que nous trouvons sur le net comme :<br />
** Nos données sont un flux continu et non un simple échantillon borné à analyser<br />
** Nous recevons des données de plusieurs capteurs, la synchronisation doit être quasi parfaite pour que les données est un sens.<br />
**Nous avons découvert des applications d'enregistrement de mouvement fonctionnant sur Android. https://blog.lemberg.co.uk/motion-gesture-detection-using-tensorflow-android<br />
* TODO parler de BLE et arduino<br />
* Cours de gestion de projet<br />
<br />
==Sprint 3 - Du 12/02/18 au 18/02/18 ==<br />
* Soutenance de mi parcours le mercredi 14/02 de 10h30-11h avec Didier Donsez et Bernard Tourancheau <br />
** Ils sont satisfait de la direction que prend le projet<br />
** Didier nous propose de remplacer les Arduino par des SensorTag qui seraient plus adaptés à nos besoins.<br />
*Expérimentations avec un modèle de machine learning prometteur (LSTP Long short term memory) https://github.com/SmartMove-PolytechGrenoble/TensorFlow-on-Android-for-Human-Activity-Recognition-with-LSTMs<br />
*Expérimentations d'entrainement de modèle sur nos machines -> problème de config sur GPU <br />
*Cours de gestion de projet<br />
<br />
==Sprint 4 - Du 19/02/18 au 25/02/18 ==<br />
Vacances<br />
<br />
==Sprint 5 - Du 26/02/18 au 04/03/18 ==<br />
<br />
*Premières expérimentations avec le SensorTag malgré les problèmes de piles.<br />
*Travail sur la gestion des entraînements (au sens, action que veut reconnaître l'utilisateur)<br />
*Cours de gestion des risques en projets<br />
*Réunion 1 de suivi avec Didier<br />
**Il est satisfait de nos avancées (communication téléphone/SensorTag, avancement dans le machine learning, etc)<br />
<br />
==Sprint 6 - Du 05/03/18 au 11/03/18 (en cours) ==<br />
*Réunion 2 de suivi avec Didier<br />
<br />
==Sprint 7 - Du 12/03/18 au 18/03/18 (prévisions) ==<br />
* Soutenance le jeudi 15/03 de 9h-10h<br />
* Préparation de la soutenance <br />
* Fusion de tous nos applications de développement en un démonstrateur pour la soutenance<br />
<br />
=Journal=<br />
<br />
==Sprint1==<br />
<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
<br />
|-<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 1</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 29/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Récupération du matériel au fablab (Arduino 101)<br />
*Tentative d'un flash d'un exemple sur la carte<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Lecture et compréhension des divers documents produits durant le S9 par les 3 autres membres du projet, un gros travail de conception ayant déjà été effectué en amont de mon arrivée<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
*Impossible de faire marcher quelque chose sur la carte pourtant elle est détecté<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Confrontation de l'idée que m'ont donné les documents de conception avec la vision des autres membres afin d'assurer une divergence de trajectoire aussi faible que possible<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 30/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Tentative d'un flash d'un exemple sur la carte<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*La technologie de communication entre les cartes et le téléphone s'effectuera sur la base du [https://developer.android.com/guide/topics/connectivity/bluetooth-le.html Bluetooth BLE]. Ayant déjà travaillé sur cette technologie sur le projet [UltraTeam http://air.imag.fr/index.php/UltraTeam], je ferai cette partie.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
*Le bootloader de la carte est broken et ne fonctionne depuis Linux, Avec Windows Timothée y arrive facilement<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Le BLE est une technologie qui m'avait donné beaucoup de tord durant le précédent projet et il m'intéresse de m'y remettre dessus. le nombre de ressources disponibles est assez peu limité et les ressources existantes ont généralement été conçues pour du HardWare spécial<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 31/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
Analyse du code d'[https://github.com/ultratrail/mobapp2 UltraTeam] pour voir ce qui est récupérable du travail déjà effectué dans le cadre du projet antérieur<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Etude problématique projet<br />
*Formation tensorflow : tuto simple, structure du code et concepts de base<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Je ne récupérerai que peu de code du précédent projet en raison du nombre important de bricolage. J'ai décidé de me rebaser quasi-exclusivement sur le [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT]<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple"|<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 02/02/18</span><br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Tentative de flash sur l’Arduino récupéré par Anthony au fablab, finalement réussi sur Windows.<br />
*Essai de l'exemple "HearthRate Monitor" avec connexion Bluetooth.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Création d'un [https://github.com/SmartMove-PolytechGrenoble/SmartMove dépot Github] se basant sur un Fork du Google Sample et qui aura ensuite pour but d'être intégré dans l'application finale créée par les autres. <br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Continuation de la formation TF Visionnage vidéos, notamment conférence sur deep learning adapté à Tensorflow<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Travail avec Clément pour faire fonctionner l'exemple en BLE sur son début d'appli. finalement fonctionnel en demandant l'utilisation du GPS sur android (Comme le requière la spécification BLE)<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Le GoogleSample se base sur un design [https://developer.android.com/reference/android/support/v7/app/AppCompatActivity.html AppCompat], ce qui n'est pas pratique pour l'intégration. Je me souviens avoir eu le même problème sur [UltraTeam http://air.imag.fr/index.php/UltraTeam]. Je le gèrerai cependant de façon opposée -> Au lieu de passer toute mon application sur le même design, je vais transformer le code pour l'utiliser sans ce Framework.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple"|<br />
<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 2==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 2</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 05/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur le AIR<br />
*Export des taches backlog sur Trello<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Début du code Arduino en partant de l'exemple "HeartRate Monitor"<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Pas mal de difficultés lors du test, en raison de difficultés de debugging sur l'Arduino.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
*Étude des problématiques propres à notre projet : Stream de data, Dynamic Time<br />
|-<br />
<br />
<br />
|-<br />
<br />
| rowspan="2" | <span style="color:green">Mardi 06/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Étude avec Vincent d'une application utilisant de la détection de mouvement Tensor Flow sur Android. https://blog.lemberg.co.uk/motion-gesture-detection-using-tensorflow-android<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Avancement du code Arduino.<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Etude d’un code de reconnaissance de mouvement tensorflow Android, + test, comprendre pour pouvoir modifier en conséquence<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Résolution des problèmes rencontrés la veille (Mauvais initialisation du module gérant les capteurs), puis travail sur l'envoie des données par blutooth.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 07/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Cours de management de projets innovants - 4h<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Finalisation du code arduino pour le moment.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Étude approfondie des modèles : il faut sûrement utiliser un LSTM <br />
<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Recherches sur les UUID (pour l'arduino).<br />
*Envoie des valeurs depuis l'arduino sous forme binaire (nécessite de séparer les octets des ints)<br />
*Mise sur Git du code arduino.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 08/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Diverses expérimentations avec le MotionGesture. Installation de Gesture Manager sur mon téléphone et record de quelques mouvemnts sur un seul capteur (ceux du téléphone). <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
<br />
<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 09/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
<br />
*Etude de l'appli MotionGestureDemo https://github.com/ryanchyshyn/motion_gestures_detection/tree/master/MotionGesturesDemo<br />
*L’intérêt de cette appli est qu'elle exécute un modèle Tensorflow. Le code nécessaire a cela est externalisé dans une librairie que nous pourrions éventuellement réutiliser<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Hackathlon<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Abandon du code trouvé précédemment car le modèle ne nous correspond pas. Reprise d’un code utilisant un modèle LSTM en Tensorflow, qui reconnait l’activité d’une personne (assis, debout, en train de marcher, montant des marches…)<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 3==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 3</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 12/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
<br />
*Recherche de modèle avec Vincent. Expérimentation avec un modèle LSTM : https://medium.com/@curiousily/human-activity-recognition-using-lstms-on-android-tensorflow-for-hackers-part-vi-492da5adef64<br />
*Prise en main de ce code <br />
<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Déchiffrage de codes utilisant un modèle LSTM : cela semble être un bon modèle pour notre cas, à voir les résultats pour des moves assez court.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 13/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Fork du modèle LSTM : https://github.com/SmartMove-PolytechGrenoble/TensorFlow-on-Android-for-Human-Activity-Recognition-with-LSTMs <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Modifications du code pour correspondre à notre formattage de données + modification du prétraitement des données<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 14/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Conception de la gestion des entraînements. Entraînements au sens "suite d'activités" que l'utilisateur peut faire et vouloir détecter<br />
*Soutenance mi parcours<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
* Résolution problèmes inconnus Tensorflow<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" | <br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 15/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours gestion<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours gestion<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours gestion<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours gestion<br />
* Test d'entraîner le modèle avec des jeux de données : impossible à faire tourner hardware trop faible.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 16/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Essai tensor flow sur mon CPU <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Faire tourner Tensorflow sur GPU : fonctionne mieux.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 4 (Vacances) ==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 4</span><br />
|-<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">/!\Vacances/!\</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Semaine du 19 au 25 février</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Clément --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Quelques tests sur SensorTag<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 5==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 5</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 26/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours de gestion<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de gestion<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de gestion<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de gestion<br />
* Début modification du code Android d'évalutation : comptabilisation, du nombre de mouvement, chronométrage.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 27/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (création d'entrainement et sauvegarde)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Début modification code enregistrement data. Objectif : labéliser, choisir librement les limites.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 28/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (création d'entrainement et sauvegarde)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Ajout du support du gyroscope<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 01/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (Visualisation)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Entraînement avec nos propres données : il faut beaucoup de données, avec peu de données la précision est vraiment mauvaise.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 02/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (Visualisation)<br />
* Réunion 2<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Réunion 2<br />
|<!-- Clément --> style="width: 280px;" |<br />
* Réunion 2<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Réunion 2<br />
* Récolte de plus de données.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 6 (En cours) ==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 6</span><br />
|-<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 05/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*MaJ Air<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Modif learning pour utiliser les nouvelles infos capteurs : gyroscope + accél, Modifications formattage des données (Python)<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 06/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Le vecteur angulaire n'est pas l'information qu'il nous faut mais plutôt la gravité : changement du code, et reprise de la récupération des données.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 07/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* En fait différentes variable pour l'apprentissage n'avaient pas été touchées, il est possible d'avoir de bons résultats avec peu de données.<br />
* Reprise des tests : très bonne précision avec seulement 40 secondes d'entraînement : les mouvements marcher et sauter sont distingués avec une très bonne précision en ligne droite.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 08/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Excusé (TOEIC)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Rectification après tests : il faut bien l'accélération angulaire, je n'ai pas le capteur sur mon téléphone, je reste sur des infos accéléromètre et c'est précis.<br />
* Multiples essais en faisant varier les variables pour l'apprentissage tensorflow.<br />
* Essais et modification du code pour pouvoir faire descendre le nombre de valeur en input assez bas : reconnaître les mouvements de toute durée.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 09/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 7 (à venir)==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 7</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 12/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
<br />
| rowspan="2" | <span style="color:green">Mardi 13/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 14/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 15/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
<br />
<br />
<br />
|-<br />
<br />
|}</div>
Clement.Rouquier
https://air.imag.fr/index.php?title=RICM5_2017-2018_-_SmartMove&diff=40496
RICM5 2017-2018 - SmartMove
2018-03-09T09:44:42Z
<p>Clement.Rouquier: /* Sprint1 */</p>
<hr />
<div>=Smart Move=<br />
<br />
Smartmove est un ambitieux projet imaginé par quatre étudiants de [https://www.polytech-grenoble.fr/ Polytech Grenoble]. Smartmove est une approche nouvelle du sport avec l'IoT et l'apprentissage machine.<br />
<br />
[[File:Smart-move_logo.png|300px]]<br />
<br />
=Équipe du projet=<br />
{| class="wikitable"<br />
|-<br />
! scope="col" width="200px" | Membre<br />
! scope="col" | Rôles<br />
|-<br />
|Anthony Geourjon<br />
|Chef de projet<br />
|-<br />
|Timothée Lemaire<br />
|Responsable hardware (black belt thinkpad)<br />
|-<br />
|Clément Rouquier<br />
|Responsable Dofus<br />
|-<br />
|Vincent Turrin<br />
|Batteur<br />
|}<br />
<br />
* Supervisé par : Bernard Tourancheau, Didier Donsez<br />
<br />
=Abstract=<br />
In 2017, two highly innovative domains emerge : the Internet of Things and the Artificial Intelligence and especially the machine learning. These technological advances open new possibilities to imagine new ways to help people. In this project, we present our proposal for the [https://iot.eclipse.org/open-iot-challenge/ Open IoT challenge 4.0] organized by the [https://iot.eclipse.org Eclipse Foundation]. This project is also part of the course of Wireless Sensor Networks given by [http://drakkar.imag.fr/spip.php?auteur70&lang=en Prof. Bernard Tourancheau] at [https://www.polytech-grenoble.fr/ Polytech Grenoble] (Engineering school)<br />
<br />
===Mots clés===<br />
* IoT<br />
* Machine learning,<br />
* Sports<br />
<br />
=Présentation= <br />
<br />
Présentation du projet dans le cadre de l'Eclipse IoT challenge : [https://air.imag.fr/index.php/SmartMove Smartmove]<br />
<br />
=SCRUM=<br />
<br />
Une liste plus actualisé des tâches est disponible sur Trello : https://trello.com/b/RVfoU3gl/smart-move-first-tasks<br />
==Sprint 1 - Du 29/01/18 au 04/02/18 ==<br />
<br />
* Définition des rôles<br />
* Mise en place du projet pour tous les membres du groupe(Trello, Github)<br />
* Création de la page AIR pour la tenue de journal<br />
* Prise de contact avec les enseignants concernés<br />
* Début de la phase de conception <br />
<br />
* Séance de management de projets innovants<br />
** Rédaction d'une [https://docs.google.com/document/d/1nxa09q82hH2rLvTtIoq7b92gYE82TqpXkbv_IgrantQ/edit?usp=sharing fiche synthetique] de présentation du projet<br />
<br />
==Sprint 2 - Du 05/02/18 au 11/02/18 ==<br />
<br />
*Définition des taches et des deadline sur Trello<br />
*Première expérimentation avec différents modèles de machine learning. Nous faisons face à de très nombreuses contraintes comparé aux modèles que nous trouvons sur le net comme :<br />
** Nos données sont un flux continu et non un simple échantillon borné à analyser<br />
** Nous recevons des données de plusieurs capteurs, la synchronisation doit être quasi parfaite pour que les données est un sens.<br />
**Nous avons découvert des applications d'enregistrement de mouvement fonctionnant sur Android. https://blog.lemberg.co.uk/motion-gesture-detection-using-tensorflow-android<br />
* TODO parler de BLE et arduino<br />
* Cours de gestion de projet<br />
<br />
==Sprint 3 - Du 12/02/18 au 18/02/18 ==<br />
* Soutenance de mi parcours le mercredi 14/02 de 10h30-11h avec Didier Donsez et Bernard Tourancheau <br />
** Ils sont satisfait de la direction que prend le projet<br />
** Didier nous propose de remplacer les Arduino par des SensorTag qui seraient plus adaptés à nos besoins.<br />
*Expérimentations avec un modèle de machine learning prometteur (LSTP Long short term memory) https://github.com/SmartMove-PolytechGrenoble/TensorFlow-on-Android-for-Human-Activity-Recognition-with-LSTMs<br />
*Expérimentations d'entrainement de modèle sur nos machines -> problème de config sur GPU <br />
*Cours de gestion de projet<br />
<br />
==Sprint 4 - Du 19/02/18 au 25/02/18 ==<br />
Vacances<br />
<br />
==Sprint 5 - Du 26/02/18 au 04/03/18 ==<br />
<br />
*Premières expérimentations avec le SensorTag malgré les problèmes de piles.<br />
*Travail sur la gestion des entraînements (au sens, action que veut reconnaître l'utilisateur)<br />
*Cours de gestion des risques en projets<br />
*Réunion 1 de suivi avec Didier<br />
**Il est satisfait de nos avancées (communication téléphone/SensorTag, avancement dans le machine learning, etc)<br />
<br />
==Sprint 6 - Du 05/03/18 au 11/03/18 (en cours) ==<br />
*Réunion 2 de suivi avec Didier<br />
<br />
==Sprint 7 - Du 12/03/18 au 18/03/18 (prévisions) ==<br />
* Soutenance le jeudi 15/03 de 9h-10h<br />
* Préparation de la soutenance <br />
* Fusion de tous nos applications de développement en un démonstrateur pour la soutenance<br />
<br />
=Journal=<br />
<br />
==Sprint1==<br />
<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
<br />
|-<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 1</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 29/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Récupération du matériel au fablab (Arduino 101)<br />
*Tentative d'un flash d'un exemple sur la carte<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Lecture et compréhension des divers documents produits durant le S9 par les 3 autres membres du projet, un gros travail de conception ayant déjà été effectué en amont de mon arrivée<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
*Impossible de faire marcher quelque chose sur la carte pourtant elle est détecté<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Confrontation de l'idée que m'ont donné les documents de conception avec la vision des autres membres afin d'assurer une divergence de trajectoire aussi faible que possible<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 30/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Tentative d'un flash d'un exemple sur la carte<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*La technologie de communication entre les cartes et le téléphone s'effectuera sur la base du [https://developer.android.com/guide/topics/connectivity/bluetooth-le.html Bluetooth BLE]. Ayant déjà travaillé sur cette technologie sur le projet [http://air.imag.fr/index.php/UltraTeam UltraTeam], je ferai cette partie.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
*Le bootloader de la carte est broken et ne fonctionne depuis Linux, Avec Windows Timothée y arrive facilement<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Le BLE est une technologie qui m'avait donné beaucoup de tord durant le précédent projet et il m'intéresse de m'y remettre dessus. le nombre de ressources disponibles est assez peu limité et les ressources existantes ont généralement été conçues pour du HardWare spécial<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 31/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
Analyse du code d'[https://github.com/ultratrail/mobapp2 UltraTeam] pour voir ce qui est récupérable du travail déjà effectué dans le cadre du projet antérieur<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Etude problématique projet<br />
*Formation tensorflow : tuto simple, structure du code et concepts de base<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Je ne récupérerai que peu de code du précédent projet en raison du nombre important de bricolage. J'ai décidé de me rebaser quasi-exclusivement sur le [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT]<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple"|<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 02/02/18</span><br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Tentative de flash sur l’Arduino récupéré par Anthony au fablab, finalement réussi sur Windows.<br />
*Essai de l'exemple "HearthRate Monitor" avec connexion Bluetooth.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Création d'un [https://github.com/SmartMove-PolytechGrenoble/SmartMove dépot Github] se basant sur un Fork du Google Sample et qui aura ensuite pour but d'être intégré dans l'application finale créée par les autres. <br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Continuation de la formation TF Visionnage vidéos, notamment conférence sur deep learning adapté à Tensorflow<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Travail avec Clément pour faire fonctionner l'exemple en BLE sur son début d'appli. finalement fonctionnel en demandant l'utilisation du GPS sur android (Comme le requière la spécification BLE)<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Le GoogleSample se base sur un design [https://developer.android.com/reference/android/support/v7/app/AppCompatActivity.html AppCompat], ce qui n'est pas pratique pour l'intégration. Je me souviens avoir eu le même problème sur [UltraTeam http://air.imag.fr/index.php/UltraTeam]. Je le gèrerai cependant de façon opposée -> Au lieu de passer toute mon application sur le même design, je vais transformer le code pour l'utiliser sans ce Framework.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple"|<br />
<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 2==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 2</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 05/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur le AIR<br />
*Export des taches backlog sur Trello<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Début du code Arduino en partant de l'exemple "HeartRate Monitor"<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Pas mal de difficultés lors du test, en raison de difficultés de debugging sur l'Arduino.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
*Étude des problématiques propres à notre projet : Stream de data, Dynamic Time<br />
|-<br />
<br />
<br />
|-<br />
<br />
| rowspan="2" | <span style="color:green">Mardi 06/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Étude avec Vincent d'une application utilisant de la détection de mouvement Tensor Flow sur Android. https://blog.lemberg.co.uk/motion-gesture-detection-using-tensorflow-android<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Avancement du code Arduino.<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Etude d’un code de reconnaissance de mouvement tensorflow Android, + test, comprendre pour pouvoir modifier en conséquence<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Résolution des problèmes rencontrés la veille (Mauvais initialisation du module gérant les capteurs), puis travail sur l'envoie des données par blutooth.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 07/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Cours de management de projets innovants - 4h<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Finalisation du code arduino pour le moment.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Étude approfondie des modèles : il faut sûrement utiliser un LSTM <br />
<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Recherches sur les UUID (pour l'arduino).<br />
*Envoie des valeurs depuis l'arduino sous forme binaire (nécessite de séparer les octets des ints)<br />
*Mise sur Git du code arduino.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 08/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Diverses expérimentations avec le MotionGesture. Installation de Gesture Manager sur mon téléphone et record de quelques mouvemnts sur un seul capteur (ceux du téléphone). <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
<br />
<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 09/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
<br />
*Etude de l'appli MotionGestureDemo https://github.com/ryanchyshyn/motion_gestures_detection/tree/master/MotionGesturesDemo<br />
*L’intérêt de cette appli est qu'elle exécute un modèle Tensorflow. Le code nécessaire a cela est externalisé dans une librairie que nous pourrions éventuellement réutiliser<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Hackathlon<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Abandon du code trouvé précédemment car le modèle ne nous correspond pas. Reprise d’un code utilisant un modèle LSTM en Tensorflow, qui reconnait l’activité d’une personne (assis, debout, en train de marcher, montant des marches…)<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 3==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 3</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 12/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
<br />
*Recherche de modèle avec Vincent. Expérimentation avec un modèle LSTM : https://medium.com/@curiousily/human-activity-recognition-using-lstms-on-android-tensorflow-for-hackers-part-vi-492da5adef64<br />
*Prise en main de ce code <br />
<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Déchiffrage de codes utilisant un modèle LSTM : cela semble être un bon modèle pour notre cas, à voir les résultats pour des moves assez court.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 13/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Fork du modèle LSTM : https://github.com/SmartMove-PolytechGrenoble/TensorFlow-on-Android-for-Human-Activity-Recognition-with-LSTMs <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Modifications du code pour correspondre à notre formattage de données + modification du prétraitement des données<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 14/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Conception de la gestion des entraînements. Entraînements au sens "suite d'activités" que l'utilisateur peut faire et vouloir détecter<br />
*Soutenance mi parcours<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
* Résolution problèmes inconnus Tensorflow<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" | <br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 15/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours gestion<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours gestion<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours gestion<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours gestion<br />
* Test d'entraîner le modèle avec des jeux de données : impossible à faire tourner hardware trop faible.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 16/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Essai tensor flow sur mon CPU <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Faire tourner Tensorflow sur GPU : fonctionne mieux.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 4 (Vacances) ==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 4</span><br />
|-<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">/!\Vacances/!\</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Semaine du 19 au 25 février</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Clément --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Quelques tests sur SensorTag<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 5==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 5</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 26/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours de gestion<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de gestion<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de gestion<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de gestion<br />
* Début modification du code Android d'évalutation : comptabilisation, du nombre de mouvement, chronométrage.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 27/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (création d'entrainement et sauvegarde)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Début modification code enregistrement data. Objectif : labéliser, choisir librement les limites.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 28/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (création d'entrainement et sauvegarde)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Ajout du support du gyroscope<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 01/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (Visualisation)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Entraînement avec nos propres données : il faut beaucoup de données, avec peu de données la précision est vraiment mauvaise.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 02/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (Visualisation)<br />
* Réunion 2<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Réunion 2<br />
|<!-- Clément --> style="width: 280px;" |<br />
* Réunion 2<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Réunion 2<br />
* Récolte de plus de données.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 6 (En cours) ==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 6</span><br />
|-<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 05/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*MaJ Air<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Modif learning pour utiliser les nouvelles infos capteurs : gyroscope + accél, Modifications formattage des données (Python)<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 06/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Le vecteur angulaire n'est pas l'information qu'il nous faut mais plutôt la gravité : changement du code, et reprise de la récupération des données.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 07/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* En fait différentes variable pour l'apprentissage n'avaient pas été touchées, il est possible d'avoir de bons résultats avec peu de données.<br />
* Reprise des tests : très bonne précision avec seulement 40 secondes d'entraînement : les mouvements marcher et sauter sont distingués avec une très bonne précision en ligne droite.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 08/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Excusé (TOEIC)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Rectification après tests : il faut bien l'accélération angulaire, je n'ai pas le capteur sur mon téléphone, je reste sur des infos accéléromètre et c'est précis.<br />
* Multiples essais en faisant varier les variables pour l'apprentissage tensorflow.<br />
* Essais et modification du code pour pouvoir faire descendre le nombre de valeur en input assez bas : reconnaître les mouvements de toute durée.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 09/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 7 (à venir)==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 7</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 12/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
<br />
| rowspan="2" | <span style="color:green">Mardi 13/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 14/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 15/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
<br />
<br />
<br />
|-<br />
<br />
|}</div>
Clement.Rouquier
https://air.imag.fr/index.php?title=RICM5_2017-2018_-_SmartMove&diff=40494
RICM5 2017-2018 - SmartMove
2018-03-09T09:44:07Z
<p>Clement.Rouquier: /* Sprint1 */</p>
<hr />
<div>=Smart Move=<br />
<br />
Smartmove est un ambitieux projet imaginé par quatre étudiants de [https://www.polytech-grenoble.fr/ Polytech Grenoble]. Smartmove est une approche nouvelle du sport avec l'IoT et l'apprentissage machine.<br />
<br />
[[File:Smart-move_logo.png|300px]]<br />
<br />
=Équipe du projet=<br />
{| class="wikitable"<br />
|-<br />
! scope="col" width="200px" | Membre<br />
! scope="col" | Rôles<br />
|-<br />
|Anthony Geourjon<br />
|Chef de projet<br />
|-<br />
|Timothée Lemaire<br />
|Responsable hardware (black belt thinkpad)<br />
|-<br />
|Clément Rouquier<br />
|Responsable Dofus<br />
|-<br />
|Vincent Turrin<br />
|Batteur<br />
|}<br />
<br />
* Supervisé par : Bernard Tourancheau, Didier Donsez<br />
<br />
=Abstract=<br />
In 2017, two highly innovative domains emerge : the Internet of Things and the Artificial Intelligence and especially the machine learning. These technological advances open new possibilities to imagine new ways to help people. In this project, we present our proposal for the [https://iot.eclipse.org/open-iot-challenge/ Open IoT challenge 4.0] organized by the [https://iot.eclipse.org Eclipse Foundation]. This project is also part of the course of Wireless Sensor Networks given by [http://drakkar.imag.fr/spip.php?auteur70&lang=en Prof. Bernard Tourancheau] at [https://www.polytech-grenoble.fr/ Polytech Grenoble] (Engineering school)<br />
<br />
===Mots clés===<br />
* IoT<br />
* Machine learning,<br />
* Sports<br />
<br />
=Présentation= <br />
<br />
Présentation du projet dans le cadre de l'Eclipse IoT challenge : [https://air.imag.fr/index.php/SmartMove Smartmove]<br />
<br />
=SCRUM=<br />
<br />
Une liste plus actualisé des tâches est disponible sur Trello : https://trello.com/b/RVfoU3gl/smart-move-first-tasks<br />
==Sprint 1 - Du 29/01/18 au 04/02/18 ==<br />
<br />
* Définition des rôles<br />
* Mise en place du projet pour tous les membres du groupe(Trello, Github)<br />
* Création de la page AIR pour la tenue de journal<br />
* Prise de contact avec les enseignants concernés<br />
* Début de la phase de conception <br />
<br />
* Séance de management de projets innovants<br />
** Rédaction d'une [https://docs.google.com/document/d/1nxa09q82hH2rLvTtIoq7b92gYE82TqpXkbv_IgrantQ/edit?usp=sharing fiche synthetique] de présentation du projet<br />
<br />
==Sprint 2 - Du 05/02/18 au 11/02/18 ==<br />
<br />
*Définition des taches et des deadline sur Trello<br />
*Première expérimentation avec différents modèles de machine learning. Nous faisons face à de très nombreuses contraintes comparé aux modèles que nous trouvons sur le net comme :<br />
** Nos données sont un flux continu et non un simple échantillon borné à analyser<br />
** Nous recevons des données de plusieurs capteurs, la synchronisation doit être quasi parfaite pour que les données est un sens.<br />
**Nous avons découvert des applications d'enregistrement de mouvement fonctionnant sur Android. https://blog.lemberg.co.uk/motion-gesture-detection-using-tensorflow-android<br />
* TODO parler de BLE et arduino<br />
* Cours de gestion de projet<br />
<br />
==Sprint 3 - Du 12/02/18 au 18/02/18 ==<br />
* Soutenance de mi parcours le mercredi 14/02 de 10h30-11h avec Didier Donsez et Bernard Tourancheau <br />
** Ils sont satisfait de la direction que prend le projet<br />
** Didier nous propose de remplacer les Arduino par des SensorTag qui seraient plus adaptés à nos besoins.<br />
*Expérimentations avec un modèle de machine learning prometteur (LSTP Long short term memory) https://github.com/SmartMove-PolytechGrenoble/TensorFlow-on-Android-for-Human-Activity-Recognition-with-LSTMs<br />
*Expérimentations d'entrainement de modèle sur nos machines -> problème de config sur GPU <br />
*Cours de gestion de projet<br />
<br />
==Sprint 4 - Du 19/02/18 au 25/02/18 ==<br />
Vacances<br />
<br />
==Sprint 5 - Du 26/02/18 au 04/03/18 ==<br />
<br />
*Premières expérimentations avec le SensorTag malgré les problèmes de piles.<br />
*Travail sur la gestion des entraînements (au sens, action que veut reconnaître l'utilisateur)<br />
*Cours de gestion des risques en projets<br />
*Réunion 1 de suivi avec Didier<br />
**Il est satisfait de nos avancées (communication téléphone/SensorTag, avancement dans le machine learning, etc)<br />
<br />
==Sprint 6 - Du 05/03/18 au 11/03/18 (en cours) ==<br />
*Réunion 2 de suivi avec Didier<br />
<br />
==Sprint 7 - Du 12/03/18 au 18/03/18 (prévisions) ==<br />
* Soutenance le jeudi 15/03 de 9h-10h<br />
* Préparation de la soutenance <br />
* Fusion de tous nos applications de développement en un démonstrateur pour la soutenance<br />
<br />
=Journal=<br />
<br />
==Sprint1==<br />
<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
<br />
|-<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 1</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 29/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Récupération du matériel au fablab (Arduino 101)<br />
*Tentative d'un flash d'un exemple sur la carte<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Lecture et compréhension des divers documents produits durant le S9 par les 3 autres membres du projet, un gros travail de conception ayant déjà été effectué en amont de mon arrivée<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
*Impossible de faire marcher quelque chose sur la carte pourtant elle est détecté<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Confrontation de l'idée que m'ont donné les documents de conception avec la vision des autres membres afin d'assurer une divergence de trajectoire aussi faible que possible<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 30/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Tentative d'un flash d'un exemple sur la carte<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*La technologie de communication entre les cartes et le téléphone s'effectuera sur la base du [https://developer.android.com/guide/topics/connectivity/bluetooth-le.html Bluetooth BLE]. Ayant déjà travaillé sur cette technologie sur le projet [http://air.imag.fr/index.php/UltraTeam UltraTeam], je ferai cette partie.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
*Le bootloader de la carte est broken et ne fonctionne depuis Linux, Avec Windows Timothée y arrive facilement<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Le BLE est une technologie qui m'avait donné beaucoup de tord durant le précédent projet et il m'intéresse de m'y remettre dessus. le nombre de ressources disponibles est assez peu limité et les ressources existantes ont généralement été conçues pour du HardWare spécial<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 31/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
Analyse du code d'[https://github.com/ultratrail/mobapp2 UltraTeam] pour voir ce qui est récupérable du travail déjà effectué dans le cadre du projet antérieur<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Etude problématique projet<br />
*Formation tensorflow : tuto simple, structure du code et concepts de base<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Je ne récupérerai que peu de code du précédent projet en raison du nombre important de bricolage. J'ai décidé de me rebaser quasi-exclusivement sur le [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT]<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple"|<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 02/02/18</span><br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Tentative de flash sur l’Arduino récupéré par Anthony au fablab, finalement réussi sur Windows.<br />
*Essai de l'exemple "HearthRate Monitor" avec connexion Bluetooth.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Création d'un [https://github.com/SmartMove-PolytechGrenoble/SmartMove dépot Github] se basant sur un Fork du Google Sample et qui aura ensuite pour but d'être intégré dans l'application finale créée par les autres. <br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Continuation de la formation TF Visionnage vidéos, notamment conférence sur deep learning adapté à Tensorflow<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Travail avec Clément pour faire fonctionner l'exemple en BLE sur son début d'appli. finalement fonctionnel en demandant l'utilisation du GPS sur android (Comme le requière la spécification BLE)<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Le GoogleSample se base sur un design [https://developer.android.com/reference/android/support/v7/app/AppCompatActivity.html AppCompat], ce qui n'est pas pratique pour l'intégration. Je me souviens avoir eu le même problème sur [[http://air.imag.fr/index.php/UltraTeam]UltraTeam]. Je le gèrerai cependant de façon opposée -> Au lieu de passer toute mon application sur le même design, je vais transformer le code pour l'utiliser sans ce Framework.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple"|<br />
<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 2==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 2</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 05/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur le AIR<br />
*Export des taches backlog sur Trello<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Début du code Arduino en partant de l'exemple "HeartRate Monitor"<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Pas mal de difficultés lors du test, en raison de difficultés de debugging sur l'Arduino.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
*Étude des problématiques propres à notre projet : Stream de data, Dynamic Time<br />
|-<br />
<br />
<br />
|-<br />
<br />
| rowspan="2" | <span style="color:green">Mardi 06/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Étude avec Vincent d'une application utilisant de la détection de mouvement Tensor Flow sur Android. https://blog.lemberg.co.uk/motion-gesture-detection-using-tensorflow-android<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Avancement du code Arduino.<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Etude d’un code de reconnaissance de mouvement tensorflow Android, + test, comprendre pour pouvoir modifier en conséquence<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Résolution des problèmes rencontrés la veille (Mauvais initialisation du module gérant les capteurs), puis travail sur l'envoie des données par blutooth.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 07/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Cours de management de projets innovants - 4h<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Finalisation du code arduino pour le moment.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Étude approfondie des modèles : il faut sûrement utiliser un LSTM <br />
<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Recherches sur les UUID (pour l'arduino).<br />
*Envoie des valeurs depuis l'arduino sous forme binaire (nécessite de séparer les octets des ints)<br />
*Mise sur Git du code arduino.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 08/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Diverses expérimentations avec le MotionGesture. Installation de Gesture Manager sur mon téléphone et record de quelques mouvemnts sur un seul capteur (ceux du téléphone). <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
<br />
<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 09/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
<br />
*Etude de l'appli MotionGestureDemo https://github.com/ryanchyshyn/motion_gestures_detection/tree/master/MotionGesturesDemo<br />
*L’intérêt de cette appli est qu'elle exécute un modèle Tensorflow. Le code nécessaire a cela est externalisé dans une librairie que nous pourrions éventuellement réutiliser<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Hackathlon<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Abandon du code trouvé précédemment car le modèle ne nous correspond pas. Reprise d’un code utilisant un modèle LSTM en Tensorflow, qui reconnait l’activité d’une personne (assis, debout, en train de marcher, montant des marches…)<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 3==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 3</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 12/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
<br />
*Recherche de modèle avec Vincent. Expérimentation avec un modèle LSTM : https://medium.com/@curiousily/human-activity-recognition-using-lstms-on-android-tensorflow-for-hackers-part-vi-492da5adef64<br />
*Prise en main de ce code <br />
<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Déchiffrage de codes utilisant un modèle LSTM : cela semble être un bon modèle pour notre cas, à voir les résultats pour des moves assez court.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 13/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Fork du modèle LSTM : https://github.com/SmartMove-PolytechGrenoble/TensorFlow-on-Android-for-Human-Activity-Recognition-with-LSTMs <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Modifications du code pour correspondre à notre formattage de données + modification du prétraitement des données<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 14/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Conception de la gestion des entraînements. Entraînements au sens "suite d'activités" que l'utilisateur peut faire et vouloir détecter<br />
*Soutenance mi parcours<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
* Résolution problèmes inconnus Tensorflow<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" | <br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 15/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours gestion<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours gestion<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours gestion<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours gestion<br />
* Test d'entraîner le modèle avec des jeux de données : impossible à faire tourner hardware trop faible.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 16/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Essai tensor flow sur mon CPU <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Faire tourner Tensorflow sur GPU : fonctionne mieux.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 4 (Vacances) ==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 4</span><br />
|-<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">/!\Vacances/!\</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Semaine du 19 au 25 février</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Clément --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Quelques tests sur SensorTag<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 5==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 5</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 26/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours de gestion<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de gestion<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de gestion<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de gestion<br />
* Début modification du code Android d'évalutation : comptabilisation, du nombre de mouvement, chronométrage.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 27/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (création d'entrainement et sauvegarde)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Début modification code enregistrement data. Objectif : labéliser, choisir librement les limites.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 28/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (création d'entrainement et sauvegarde)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Ajout du support du gyroscope<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 01/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (Visualisation)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Entraînement avec nos propres données : il faut beaucoup de données, avec peu de données la précision est vraiment mauvaise.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 02/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (Visualisation)<br />
* Réunion 2<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Réunion 2<br />
|<!-- Clément --> style="width: 280px;" |<br />
* Réunion 2<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Réunion 2<br />
* Récolte de plus de données.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 6 (En cours) ==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 6</span><br />
|-<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 05/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*MaJ Air<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Modif learning pour utiliser les nouvelles infos capteurs : gyroscope + accél, Modifications formattage des données (Python)<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 06/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Le vecteur angulaire n'est pas l'information qu'il nous faut mais plutôt la gravité : changement du code, et reprise de la récupération des données.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 07/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* En fait différentes variable pour l'apprentissage n'avaient pas été touchées, il est possible d'avoir de bons résultats avec peu de données.<br />
* Reprise des tests : très bonne précision avec seulement 40 secondes d'entraînement : les mouvements marcher et sauter sont distingués avec une très bonne précision en ligne droite.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 08/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Excusé (TOEIC)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Rectification après tests : il faut bien l'accélération angulaire, je n'ai pas le capteur sur mon téléphone, je reste sur des infos accéléromètre et c'est précis.<br />
* Multiples essais en faisant varier les variables pour l'apprentissage tensorflow.<br />
* Essais et modification du code pour pouvoir faire descendre le nombre de valeur en input assez bas : reconnaître les mouvements de toute durée.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 09/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 7 (à venir)==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 7</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 12/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
<br />
| rowspan="2" | <span style="color:green">Mardi 13/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 14/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 15/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
<br />
<br />
<br />
|-<br />
<br />
|}</div>
Clement.Rouquier
https://air.imag.fr/index.php?title=RICM5_2017-2018_-_SmartMove&diff=40493
RICM5 2017-2018 - SmartMove
2018-03-09T09:43:09Z
<p>Clement.Rouquier: /* Sprint1 */</p>
<hr />
<div>=Smart Move=<br />
<br />
Smartmove est un ambitieux projet imaginé par quatre étudiants de [https://www.polytech-grenoble.fr/ Polytech Grenoble]. Smartmove est une approche nouvelle du sport avec l'IoT et l'apprentissage machine.<br />
<br />
[[File:Smart-move_logo.png|300px]]<br />
<br />
=Équipe du projet=<br />
{| class="wikitable"<br />
|-<br />
! scope="col" width="200px" | Membre<br />
! scope="col" | Rôles<br />
|-<br />
|Anthony Geourjon<br />
|Chef de projet<br />
|-<br />
|Timothée Lemaire<br />
|Responsable hardware (black belt thinkpad)<br />
|-<br />
|Clément Rouquier<br />
|Responsable Dofus<br />
|-<br />
|Vincent Turrin<br />
|Batteur<br />
|}<br />
<br />
* Supervisé par : Bernard Tourancheau, Didier Donsez<br />
<br />
=Abstract=<br />
In 2017, two highly innovative domains emerge : the Internet of Things and the Artificial Intelligence and especially the machine learning. These technological advances open new possibilities to imagine new ways to help people. In this project, we present our proposal for the [https://iot.eclipse.org/open-iot-challenge/ Open IoT challenge 4.0] organized by the [https://iot.eclipse.org Eclipse Foundation]. This project is also part of the course of Wireless Sensor Networks given by [http://drakkar.imag.fr/spip.php?auteur70&lang=en Prof. Bernard Tourancheau] at [https://www.polytech-grenoble.fr/ Polytech Grenoble] (Engineering school)<br />
<br />
===Mots clés===<br />
* IoT<br />
* Machine learning,<br />
* Sports<br />
<br />
=Présentation= <br />
<br />
Présentation du projet dans le cadre de l'Eclipse IoT challenge : [https://air.imag.fr/index.php/SmartMove Smartmove]<br />
<br />
=SCRUM=<br />
<br />
Une liste plus actualisé des tâches est disponible sur Trello : https://trello.com/b/RVfoU3gl/smart-move-first-tasks<br />
==Sprint 1 - Du 29/01/18 au 04/02/18 ==<br />
<br />
* Définition des rôles<br />
* Mise en place du projet pour tous les membres du groupe(Trello, Github)<br />
* Création de la page AIR pour la tenue de journal<br />
* Prise de contact avec les enseignants concernés<br />
* Début de la phase de conception <br />
<br />
* Séance de management de projets innovants<br />
** Rédaction d'une [https://docs.google.com/document/d/1nxa09q82hH2rLvTtIoq7b92gYE82TqpXkbv_IgrantQ/edit?usp=sharing fiche synthetique] de présentation du projet<br />
<br />
==Sprint 2 - Du 05/02/18 au 11/02/18 ==<br />
<br />
*Définition des taches et des deadline sur Trello<br />
*Première expérimentation avec différents modèles de machine learning. Nous faisons face à de très nombreuses contraintes comparé aux modèles que nous trouvons sur le net comme :<br />
** Nos données sont un flux continu et non un simple échantillon borné à analyser<br />
** Nous recevons des données de plusieurs capteurs, la synchronisation doit être quasi parfaite pour que les données est un sens.<br />
**Nous avons découvert des applications d'enregistrement de mouvement fonctionnant sur Android. https://blog.lemberg.co.uk/motion-gesture-detection-using-tensorflow-android<br />
* TODO parler de BLE et arduino<br />
* Cours de gestion de projet<br />
<br />
==Sprint 3 - Du 12/02/18 au 18/02/18 ==<br />
* Soutenance de mi parcours le mercredi 14/02 de 10h30-11h avec Didier Donsez et Bernard Tourancheau <br />
** Ils sont satisfait de la direction que prend le projet<br />
** Didier nous propose de remplacer les Arduino par des SensorTag qui seraient plus adaptés à nos besoins.<br />
*Expérimentations avec un modèle de machine learning prometteur (LSTP Long short term memory) https://github.com/SmartMove-PolytechGrenoble/TensorFlow-on-Android-for-Human-Activity-Recognition-with-LSTMs<br />
*Expérimentations d'entrainement de modèle sur nos machines -> problème de config sur GPU <br />
*Cours de gestion de projet<br />
<br />
==Sprint 4 - Du 19/02/18 au 25/02/18 ==<br />
Vacances<br />
<br />
==Sprint 5 - Du 26/02/18 au 04/03/18 ==<br />
<br />
*Premières expérimentations avec le SensorTag malgré les problèmes de piles.<br />
*Travail sur la gestion des entraînements (au sens, action que veut reconnaître l'utilisateur)<br />
*Cours de gestion des risques en projets<br />
*Réunion 1 de suivi avec Didier<br />
**Il est satisfait de nos avancées (communication téléphone/SensorTag, avancement dans le machine learning, etc)<br />
<br />
==Sprint 6 - Du 05/03/18 au 11/03/18 (en cours) ==<br />
*Réunion 2 de suivi avec Didier<br />
<br />
==Sprint 7 - Du 12/03/18 au 18/03/18 (prévisions) ==<br />
* Soutenance le jeudi 15/03 de 9h-10h<br />
* Préparation de la soutenance <br />
* Fusion de tous nos applications de développement en un démonstrateur pour la soutenance<br />
<br />
=Journal=<br />
<br />
==Sprint1==<br />
<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
<br />
|-<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 1</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 29/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Récupération du matériel au fablab (Arduino 101)<br />
*Tentative d'un flash d'un exemple sur la carte<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Lecture et compréhension des divers documents produits durant le S9 par les 3 autres membres du projet, un gros travail de conception ayant déjà été effectué en amont de mon arrivée<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
*Impossible de faire marcher quelque chose sur la carte pourtant elle est détecté<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Confrontation de l'idée que m'ont donné les documents de conception avec la vision des autres membres afin d'assurer une divergence de trajectoire aussi faible que possible<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 30/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Tentative d'un flash d'un exemple sur la carte<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*La technologie de communication entre les cartes et le téléphone s'effectuera sur la base du [https://developer.android.com/guide/topics/connectivity/bluetooth-le.html Bluetooth BLE]. Ayant déjà travaillé sur cette technologie sur le projet [[http://air.imag.fr/index.php/UltraTeam] UltraTeam], je ferai cette partie.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
*Le bootloader de la carte est broken et ne fonctionne depuis Linux, Avec Windows Timothée y arrive facilement<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Le BLE est une technologie qui m'avait donné beaucoup de tord durant le précédent projet et il m'intéresse de m'y remettre dessus. le nombre de ressources disponibles est assez peu limité et les ressources existantes ont généralement été conçues pour du HardWare spécial<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 31/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
Analyse du code d'[https://github.com/ultratrail/mobapp2 UltraTeam] pour voir ce qui est récupérable du travail déjà effectué dans le cadre du projet antérieur<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Etude problématique projet<br />
*Formation tensorflow : tuto simple, structure du code et concepts de base<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Je ne récupérerai que peu de code du précédent projet en raison du nombre important de bricolage. J'ai décidé de me rebaser quasi-exclusivement sur le [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT]<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple"|<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 02/02/18</span><br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Tentative de flash sur l’Arduino récupéré par Anthony au fablab, finalement réussi sur Windows.<br />
*Essai de l'exemple "HearthRate Monitor" avec connexion Bluetooth.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Création d'un [https://github.com/SmartMove-PolytechGrenoble/SmartMove dépot Github] se basant sur un Fork du Google Sample et qui aura ensuite pour but d'être intégré dans l'application finale créée par les autres. <br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Continuation de la formation TF Visionnage vidéos, notamment conférence sur deep learning adapté à Tensorflow<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Travail avec Clément pour faire fonctionner l'exemple en BLE sur son début d'appli. finalement fonctionnel en demandant l'utilisation du GPS sur android (Comme le requière la spécification BLE)<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Le GoogleSample se base sur un design [https://developer.android.com/reference/android/support/v7/app/AppCompatActivity.html AppCompat], ce qui n'est pas pratique pour l'intégration. Je me souviens avoir eu le même problème sur [[http://air.imag.fr/index.php/UltraTeam]UltraTeam]. Je le gèrerai cependant de façon opposée -> Au lieu de passer toute mon application sur le même design, je vais transformer le code pour l'utiliser sans ce Framework.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple"|<br />
<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 2==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 2</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 05/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur le AIR<br />
*Export des taches backlog sur Trello<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Début du code Arduino en partant de l'exemple "HeartRate Monitor"<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Pas mal de difficultés lors du test, en raison de difficultés de debugging sur l'Arduino.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
*Étude des problématiques propres à notre projet : Stream de data, Dynamic Time<br />
|-<br />
<br />
<br />
|-<br />
<br />
| rowspan="2" | <span style="color:green">Mardi 06/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Étude avec Vincent d'une application utilisant de la détection de mouvement Tensor Flow sur Android. https://blog.lemberg.co.uk/motion-gesture-detection-using-tensorflow-android<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Avancement du code Arduino.<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Etude d’un code de reconnaissance de mouvement tensorflow Android, + test, comprendre pour pouvoir modifier en conséquence<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Résolution des problèmes rencontrés la veille (Mauvais initialisation du module gérant les capteurs), puis travail sur l'envoie des données par blutooth.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 07/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Cours de management de projets innovants - 4h<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Finalisation du code arduino pour le moment.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Étude approfondie des modèles : il faut sûrement utiliser un LSTM <br />
<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Recherches sur les UUID (pour l'arduino).<br />
*Envoie des valeurs depuis l'arduino sous forme binaire (nécessite de séparer les octets des ints)<br />
*Mise sur Git du code arduino.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 08/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Diverses expérimentations avec le MotionGesture. Installation de Gesture Manager sur mon téléphone et record de quelques mouvemnts sur un seul capteur (ceux du téléphone). <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
<br />
<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 09/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
<br />
*Etude de l'appli MotionGestureDemo https://github.com/ryanchyshyn/motion_gestures_detection/tree/master/MotionGesturesDemo<br />
*L’intérêt de cette appli est qu'elle exécute un modèle Tensorflow. Le code nécessaire a cela est externalisé dans une librairie que nous pourrions éventuellement réutiliser<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Hackathlon<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Abandon du code trouvé précédemment car le modèle ne nous correspond pas. Reprise d’un code utilisant un modèle LSTM en Tensorflow, qui reconnait l’activité d’une personne (assis, debout, en train de marcher, montant des marches…)<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 3==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 3</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 12/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
<br />
*Recherche de modèle avec Vincent. Expérimentation avec un modèle LSTM : https://medium.com/@curiousily/human-activity-recognition-using-lstms-on-android-tensorflow-for-hackers-part-vi-492da5adef64<br />
*Prise en main de ce code <br />
<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Déchiffrage de codes utilisant un modèle LSTM : cela semble être un bon modèle pour notre cas, à voir les résultats pour des moves assez court.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 13/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Fork du modèle LSTM : https://github.com/SmartMove-PolytechGrenoble/TensorFlow-on-Android-for-Human-Activity-Recognition-with-LSTMs <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Modifications du code pour correspondre à notre formattage de données + modification du prétraitement des données<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 14/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Conception de la gestion des entraînements. Entraînements au sens "suite d'activités" que l'utilisateur peut faire et vouloir détecter<br />
*Soutenance mi parcours<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
* Résolution problèmes inconnus Tensorflow<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" | <br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 15/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours gestion<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours gestion<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours gestion<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours gestion<br />
* Test d'entraîner le modèle avec des jeux de données : impossible à faire tourner hardware trop faible.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 16/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Essai tensor flow sur mon CPU <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Faire tourner Tensorflow sur GPU : fonctionne mieux.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 4 (Vacances) ==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 4</span><br />
|-<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">/!\Vacances/!\</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Semaine du 19 au 25 février</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Clément --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Quelques tests sur SensorTag<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 5==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 5</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 26/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours de gestion<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de gestion<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de gestion<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de gestion<br />
* Début modification du code Android d'évalutation : comptabilisation, du nombre de mouvement, chronométrage.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 27/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (création d'entrainement et sauvegarde)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Début modification code enregistrement data. Objectif : labéliser, choisir librement les limites.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 28/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (création d'entrainement et sauvegarde)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Ajout du support du gyroscope<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 01/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (Visualisation)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Entraînement avec nos propres données : il faut beaucoup de données, avec peu de données la précision est vraiment mauvaise.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 02/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (Visualisation)<br />
* Réunion 2<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Réunion 2<br />
|<!-- Clément --> style="width: 280px;" |<br />
* Réunion 2<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Réunion 2<br />
* Récolte de plus de données.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 6 (En cours) ==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 6</span><br />
|-<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 05/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*MaJ Air<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Modif learning pour utiliser les nouvelles infos capteurs : gyroscope + accél, Modifications formattage des données (Python)<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 06/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Le vecteur angulaire n'est pas l'information qu'il nous faut mais plutôt la gravité : changement du code, et reprise de la récupération des données.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 07/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* En fait différentes variable pour l'apprentissage n'avaient pas été touchées, il est possible d'avoir de bons résultats avec peu de données.<br />
* Reprise des tests : très bonne précision avec seulement 40 secondes d'entraînement : les mouvements marcher et sauter sont distingués avec une très bonne précision en ligne droite.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 08/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Excusé (TOEIC)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Rectification après tests : il faut bien l'accélération angulaire, je n'ai pas le capteur sur mon téléphone, je reste sur des infos accéléromètre et c'est précis.<br />
* Multiples essais en faisant varier les variables pour l'apprentissage tensorflow.<br />
* Essais et modification du code pour pouvoir faire descendre le nombre de valeur en input assez bas : reconnaître les mouvements de toute durée.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 09/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 7 (à venir)==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 7</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 12/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
<br />
| rowspan="2" | <span style="color:green">Mardi 13/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 14/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 15/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
<br />
<br />
<br />
|-<br />
<br />
|}</div>
Clement.Rouquier
https://air.imag.fr/index.php?title=RICM5_2017-2018_-_SmartMove&diff=40492
RICM5 2017-2018 - SmartMove
2018-03-09T09:41:57Z
<p>Clement.Rouquier: /* Sprint1 */</p>
<hr />
<div>=Smart Move=<br />
<br />
Smartmove est un ambitieux projet imaginé par quatre étudiants de [https://www.polytech-grenoble.fr/ Polytech Grenoble]. Smartmove est une approche nouvelle du sport avec l'IoT et l'apprentissage machine.<br />
<br />
[[File:Smart-move_logo.png|300px]]<br />
<br />
=Équipe du projet=<br />
{| class="wikitable"<br />
|-<br />
! scope="col" width="200px" | Membre<br />
! scope="col" | Rôles<br />
|-<br />
|Anthony Geourjon<br />
|Chef de projet<br />
|-<br />
|Timothée Lemaire<br />
|Responsable hardware (black belt thinkpad)<br />
|-<br />
|Clément Rouquier<br />
|Responsable Dofus<br />
|-<br />
|Vincent Turrin<br />
|Batteur<br />
|}<br />
<br />
* Supervisé par : Bernard Tourancheau, Didier Donsez<br />
<br />
=Abstract=<br />
In 2017, two highly innovative domains emerge : the Internet of Things and the Artificial Intelligence and especially the machine learning. These technological advances open new possibilities to imagine new ways to help people. In this project, we present our proposal for the [https://iot.eclipse.org/open-iot-challenge/ Open IoT challenge 4.0] organized by the [https://iot.eclipse.org Eclipse Foundation]. This project is also part of the course of Wireless Sensor Networks given by [http://drakkar.imag.fr/spip.php?auteur70&lang=en Prof. Bernard Tourancheau] at [https://www.polytech-grenoble.fr/ Polytech Grenoble] (Engineering school)<br />
<br />
===Mots clés===<br />
* IoT<br />
* Machine learning,<br />
* Sports<br />
<br />
=Présentation= <br />
<br />
Présentation du projet dans le cadre de l'Eclipse IoT challenge : [https://air.imag.fr/index.php/SmartMove Smartmove]<br />
<br />
=SCRUM=<br />
<br />
Une liste plus actualisé des tâches est disponible sur Trello : https://trello.com/b/RVfoU3gl/smart-move-first-tasks<br />
==Sprint 1 - Du 29/01/18 au 04/02/18 ==<br />
<br />
* Définition des rôles<br />
* Mise en place du projet pour tous les membres du groupe(Trello, Github)<br />
* Création de la page AIR pour la tenue de journal<br />
* Prise de contact avec les enseignants concernés<br />
* Début de la phase de conception <br />
<br />
* Séance de management de projets innovants<br />
** Rédaction d'une [https://docs.google.com/document/d/1nxa09q82hH2rLvTtIoq7b92gYE82TqpXkbv_IgrantQ/edit?usp=sharing fiche synthetique] de présentation du projet<br />
<br />
==Sprint 2 - Du 05/02/18 au 11/02/18 ==<br />
<br />
*Définition des taches et des deadline sur Trello<br />
*Première expérimentation avec différents modèles de machine learning. Nous faisons face à de très nombreuses contraintes comparé aux modèles que nous trouvons sur le net comme :<br />
** Nos données sont un flux continu et non un simple échantillon borné à analyser<br />
** Nous recevons des données de plusieurs capteurs, la synchronisation doit être quasi parfaite pour que les données est un sens.<br />
**Nous avons découvert des applications d'enregistrement de mouvement fonctionnant sur Android. https://blog.lemberg.co.uk/motion-gesture-detection-using-tensorflow-android<br />
* TODO parler de BLE et arduino<br />
* Cours de gestion de projet<br />
<br />
==Sprint 3 - Du 12/02/18 au 18/02/18 ==<br />
* Soutenance de mi parcours le mercredi 14/02 de 10h30-11h avec Didier Donsez et Bernard Tourancheau <br />
** Ils sont satisfait de la direction que prend le projet<br />
** Didier nous propose de remplacer les Arduino par des SensorTag qui seraient plus adaptés à nos besoins.<br />
*Expérimentations avec un modèle de machine learning prometteur (LSTP Long short term memory) https://github.com/SmartMove-PolytechGrenoble/TensorFlow-on-Android-for-Human-Activity-Recognition-with-LSTMs<br />
*Expérimentations d'entrainement de modèle sur nos machines -> problème de config sur GPU <br />
*Cours de gestion de projet<br />
<br />
==Sprint 4 - Du 19/02/18 au 25/02/18 ==<br />
Vacances<br />
<br />
==Sprint 5 - Du 26/02/18 au 04/03/18 ==<br />
<br />
*Premières expérimentations avec le SensorTag malgré les problèmes de piles.<br />
*Travail sur la gestion des entraînements (au sens, action que veut reconnaître l'utilisateur)<br />
*Cours de gestion des risques en projets<br />
*Réunion 1 de suivi avec Didier<br />
**Il est satisfait de nos avancées (communication téléphone/SensorTag, avancement dans le machine learning, etc)<br />
<br />
==Sprint 6 - Du 05/03/18 au 11/03/18 (en cours) ==<br />
*Réunion 2 de suivi avec Didier<br />
<br />
==Sprint 7 - Du 12/03/18 au 18/03/18 (prévisions) ==<br />
* Soutenance le jeudi 15/03 de 9h-10h<br />
* Préparation de la soutenance <br />
* Fusion de tous nos applications de développement en un démonstrateur pour la soutenance<br />
<br />
=Journal=<br />
<br />
==Sprint1==<br />
<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
<br />
|-<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 1</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 29/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Récupération du matériel au fablab (Arduino 101)<br />
*Tentative d'un flash d'un exemple sur la carte<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Lecture et compréhension des divers documents produits durant le S9 par les 3 autres membres du projet, un gros travail de conception ayant déjà été effectué en amont de mon arrivée<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
*Impossible de faire marcher quelque chose sur la carte pourtant elle est détecté<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Confrontation de l'idée que m'ont donné les documents de conception avec la vision des autres membres afin d'assurer une divergence de trajectoire aussi faible que possible<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 30/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Tentative d'un flash d'un exemple sur la carte<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
*La technologie de communication entre les cartes et le téléphone s'effectuera sur la base du [https://developer.android.com/guide/topics/connectivity/bluetooth-le.html Bluetooth BLE]. Ayant déjà travaillé sur cette technologie sur le projet [[http://air.imag.fr/index.php/UltraTeam]], je ferai cette partie.<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
*Le bootloader de la carte est broken et ne fonctionne depuis Linux, Avec Windows Timothée y arrive facilement<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Le BLE est une technologie qui m'avait donné beaucoup de tord durant le précédent projet et il m'intéresse de m'y remettre dessus. le nombre de ressources disponibles est assez peu limité et les ressources existantes ont généralement été conçues pour du HardWare spécial<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 31/01/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
Analyse du code d'[https://github.com/ultratrail/mobapp2 UltraTeam] pour voir ce qui est récupérable du travail déjà effectué dans le cadre du projet antérieur<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Etude problématique projet<br />
*Formation tensorflow : tuto simple, structure du code et concepts de base<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple" |<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Je ne récupérerai que peu de code du précédent projet en raison du nombre important de bricolage. J'ai décidé de me rebaser quasi-exclusivement sur le [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT]<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple"|<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 02/02/18</span><br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Tentative de flash sur l’Arduino récupéré par Anthony au fablab, finalement réussi sur Windows.<br />
*Essai de l'exemple "HearthRate Monitor" avec connexion Bluetooth.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Création d'un [https://github.com/SmartMove-PolytechGrenoble/SmartMove dépot Github] se basant sur un Fork du Google Sample et qui aura ensuite pour but d'être intégré dans l'application finale créée par les autres. <br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Continuation de la formation TF Visionnage vidéos, notamment conférence sur deep learning adapté à Tensorflow<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Travail avec Clément pour faire fonctionner l'exemple en BLE sur son début d'appli. finalement fonctionnel en demandant l'utilisation du GPS sur android (Comme le requière la spécification BLE)<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
*Le GoogleSample se base sur un design [https://developer.android.com/reference/android/support/v7/app/AppCompatActivity.html AppCompat], ce qui n'est pas pratique pour l'intégration. Je me souviens avoir eu le même problème sur [[http://air.imag.fr/index.php/UltraTeam]]. Je le gèrerai cependant de façon opposée -> Au lieu de passer toute mon application sur le même design, je vais transformer le code pour l'utiliser sans ce Framework.<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple"|<br />
<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 2==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 2</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 05/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur le AIR<br />
*Export des taches backlog sur Trello<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Début du code Arduino en partant de l'exemple "HeartRate Monitor"<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Pas mal de difficultés lors du test, en raison de difficultés de debugging sur l'Arduino.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
*Étude des problématiques propres à notre projet : Stream de data, Dynamic Time<br />
|-<br />
<br />
<br />
|-<br />
<br />
| rowspan="2" | <span style="color:green">Mardi 06/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Étude avec Vincent d'une application utilisant de la détection de mouvement Tensor Flow sur Android. https://blog.lemberg.co.uk/motion-gesture-detection-using-tensorflow-android<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Avancement du code Arduino.<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Etude d’un code de reconnaissance de mouvement tensorflow Android, + test, comprendre pour pouvoir modifier en conséquence<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Résolution des problèmes rencontrés la veille (Mauvais initialisation du module gérant les capteurs), puis travail sur l'envoie des données par blutooth.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 07/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Cours de management de projets innovants - 4h<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Finalisation du code arduino pour le moment.<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de management de projets innovants - 4h<br />
*Étude approfondie des modèles : il faut sûrement utiliser un LSTM <br />
<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
*Recherches sur les UUID (pour l'arduino).<br />
*Envoie des valeurs depuis l'arduino sous forme binaire (nécessite de séparer les octets des ints)<br />
*Mise sur Git du code arduino.<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 08/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Diverses expérimentations avec le MotionGesture. Installation de Gesture Manager sur mon téléphone et record de quelques mouvemnts sur un seul capteur (ceux du téléphone). <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
<br />
<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 09/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
<br />
*Etude de l'appli MotionGestureDemo https://github.com/ryanchyshyn/motion_gestures_detection/tree/master/MotionGesturesDemo<br />
*L’intérêt de cette appli est qu'elle exécute un modèle Tensorflow. Le code nécessaire a cela est externalisé dans une librairie que nous pourrions éventuellement réutiliser<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Hackathlon<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Abandon du code trouvé précédemment car le modèle ne nous correspond pas. Reprise d’un code utilisant un modèle LSTM en Tensorflow, qui reconnait l’activité d’une personne (assis, debout, en train de marcher, montant des marches…)<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 3==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 3</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 12/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
<br />
*Recherche de modèle avec Vincent. Expérimentation avec un modèle LSTM : https://medium.com/@curiousily/human-activity-recognition-using-lstms-on-android-tensorflow-for-hackers-part-vi-492da5adef64<br />
*Prise en main de ce code <br />
<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Déchiffrage de codes utilisant un modèle LSTM : cela semble être un bon modèle pour notre cas, à voir les résultats pour des moves assez court.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 13/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Fork du modèle LSTM : https://github.com/SmartMove-PolytechGrenoble/TensorFlow-on-Android-for-Human-Activity-Recognition-with-LSTMs <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Modifications du code pour correspondre à notre formattage de données + modification du prétraitement des données<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 14/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Conception de la gestion des entraînements. Entraînements au sens "suite d'activités" que l'utilisateur peut faire et vouloir détecter<br />
*Soutenance mi parcours<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Soutenance mi parcours<br />
* Résolution problèmes inconnus Tensorflow<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" | <br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 15/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours gestion<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours gestion<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours gestion<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours gestion<br />
* Test d'entraîner le modèle avec des jeux de données : impossible à faire tourner hardware trop faible.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 16/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Essai tensor flow sur mon CPU <br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Faire tourner Tensorflow sur GPU : fonctionne mieux.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 4 (Vacances) ==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 4</span><br />
|-<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">/!\Vacances/!\</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Semaine du 19 au 25 février</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Clément --> style="width: 280px;" |<br />
* [...]<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Quelques tests sur SensorTag<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 5==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 5</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 26/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Cours de gestion<br />
|<!-- Timothée --> style="width: 280px;" |<br />
*Cours de gestion<br />
|<!-- Clément --> style="width: 280px;" |<br />
*Cours de gestion<br />
|<!-- Vincent --> style="width: 280px;" |<br />
*Cours de gestion<br />
* Début modification du code Android d'évalutation : comptabilisation, du nombre de mouvement, chronométrage.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 27/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (création d'entrainement et sauvegarde)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Début modification code enregistrement data. Objectif : labéliser, choisir librement les limites.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 28/02/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (création d'entrainement et sauvegarde)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Ajout du support du gyroscope<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 01/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (Visualisation)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Entraînement avec nos propres données : il faut beaucoup de données, avec peu de données la précision est vraiment mauvaise.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 02/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*Travail sur la gestion des entraînements (Visualisation)<br />
* Réunion 2<br />
|<!-- Timothée --> style="width: 280px;" |<br />
* Réunion 2<br />
|<!-- Clément --> style="width: 280px;" |<br />
* Réunion 2<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Réunion 2<br />
* Récolte de plus de données.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 6 (En cours) ==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 6</span><br />
|-<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 05/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
*MaJ Air<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Modif learning pour utiliser les nouvelles infos capteurs : gyroscope + accél, Modifications formattage des données (Python)<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mardi 06/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Le vecteur angulaire n'est pas l'information qu'il nous faut mais plutôt la gravité : changement du code, et reprise de la récupération des données.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 07/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* En fait différentes variable pour l'apprentissage n'avaient pas été touchées, il est possible d'avoir de bons résultats avec peu de données.<br />
* Reprise des tests : très bonne précision avec seulement 40 secondes d'entraînement : les mouvements marcher et sauter sont distingués avec une très bonne précision en ligne droite.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 08/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
* Excusé (TOEIC)<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
* Rectification après tests : il faut bien l'accélération angulaire, je n'ai pas le capteur sur mon téléphone, je reste sur des infos accéléromètre et c'est précis.<br />
* Multiples essais en faisant varier les variables pour l'apprentissage tensorflow.<br />
* Essais et modification du code pour pouvoir faire descendre le nombre de valeur en input assez bas : reconnaître les mouvements de toute durée.<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Vendredi 09/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}<br />
<br />
==Sprint 7 (à venir)==<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| GEOURJON Anthony<br />
!scope="col"| LEMAIRE Timothée<br />
!scope="col"| ROUQUIER Clément<br />
!scope="col"| TURRIN Vincent<br />
|-<br />
<br />
<br />
| colspan="6" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 7</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi 12/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|-<br />
<br />
| rowspan="2" | <span style="color:green">Mardi 13/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Mercredi 14/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Jeudi 15/03/18</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span><br />
|<!-- Anthony --> style="width: 280px;" |<br />
|<!-- Timothée --> style="width: 280px;" |<br />
|<!-- Clément --> style="width: 280px;" |<br />
|<!-- Vincent --> style="width: 280px;" |<br />
<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Anthony --> style="width: 280px;" style="color:purple"|<br />
|<!-- Timothée --> style="width: 280px;" style="color:purple" |<br />
|<!-- Clément --> style="width: 280px;" style="color:purple" |<br />
|<!-- Vincent --> style="width: 280px;" style="color:purple" |<br />
<br />
<br />
<br />
|-<br />
<br />
|}</div>
Clement.Rouquier
https://air.imag.fr/index.php?title=SmartMove&diff=38346
SmartMove
2018-01-29T07:57:17Z
<p>Clement.Rouquier: </p>
<hr />
<div>=Smart Move=<br />
<br />
<br />
Smartmove is a student project imagined by three IT students of [https://www.polytech-grenoble.fr/ Polytech Grenoble]. Smart Move is an IoT and AI approach for the sports.<br />
<br />
[[File:Smart-move_logo.png|300px]]<br />
<br />
* Team : Anthony Geourjon (leader), Timothée Lemaire, Vincent Turrin & Clément Rouquier<br />
* Supervised by : Bernard Tourancheau, Didier Donsez<br />
<br />
=Abstract=<br />
In 2017, two highly innovative domains emerge : the Internet of Things and the Artificial Intelligence and especially the machine learning. These technological advances open new possibilities to imagine new ways to help people. In this project, we present our proposal for the [https://iot.eclipse.org/open-iot-challenge/ Open IoT challenge 4.0] organized by the [https://iot.eclipse.org Eclipse Foundation]. This project is also part of the course of Wireless Sensor Networks given by [http://drakkar.imag.fr/spip.php?auteur70&lang=en Prof. Bernard Tourancheau] at [https://www.polytech-grenoble.fr/ Polytech Grenoble] (Engineering school)<br />
<br />
===Keywords===<br />
* IoT<br />
* Machine learning,<br />
* Sports<br />
<br />
=Introduction=<br />
Smart move is an ambitious project to connect sport equipments such as windsurf boards, skis, skateboards, etc.. The idea is to put smart cases to detect, record and transmit data (including movement, rotation, acceleration) to a master device (typically a smartphone or a smartwatch). With this data flow, the master device will recognize particular movements like a 360-rotation in skiing or a speed loop in windsurfing. To perform that, the master device will run a machine learning trained algorithm. The following figure shows an example of a connected windsurf board, monitored by smart cases as we would do in our project :<br />
<br />
<br />
[[File:Smart-move_windsurf.png|500px]]<br />
<br />
=Architecture=<br />
<br />
We can generalize this architecture and split the project in three main parts : the smart cases, the master device and lastly the part which is situated in the cloud. The smart cases and the master device communicate through the use of Bluetooth Low Energy. The cloud will provide a REST API and communicate with the master device through HTTP requests. There are no direct communications between smart cases and the cloud.<br />
<br />
The first part will be the set of the smart cases. A smart case is a very simple device with an accelerometer, a gyroscope, a Bluetooth transmitter and a battery. The goal of a smart case is to capture the movements of a part of the equipped device. Depending of the use case, the smart case could need to be waterproof, shock resistant or specifically need a long autonomy. We choice to use Arduino devices, because this technology is open-source and very adapted for prototyping. The Arduino 101 card integrates all the electronic features required and is also very cheap. According to the equipment instrumented we need more or less cards. As seen previously, we need 4 cards installed at the right places to instrument a windsurf board.<br />
<br />
[[File:smart-move_arduino.jpg|400px]]<br />
<br />
We need financial helps for this part. We need to buy some Arduino 101 cards and their batteries. We have already one card, have three others will be perfect to implement Smart move in the case of windsurfing. The cost of one Arduino 101 card is \$30 and a battery \$15. With the \$150 we can reach our goals of 4 cards/batteries and develop serenely our project.<br />
<br />
The second part is called the master device. This device will be a smartphone or a smartwatch and will be the gateway of the smart cases. With the data and the machine learning algorithm, the device will provide all the information required for the user application. Even if the machine learning was not trained on the device, it must be powerful enough to run the trained model. We choose Tensor Flow Lite library, released by Google and running on Android. The smartphone doesn’t need a lot of calculation power. Our Honor 5C with Kirin 650 SoC (octa core at 1.7 GHz and GPU Mali T830 (40 GFlops)) and its 2 Go of RAM easily allows to run all of the Tensor Flow Lite example applications.<br />
<br />
Lastly the third part will be the server on the cloud. The server will train the machine learning algorithm and take part as a classic server for the user application. As students we can’t pay a server on AMI AWS Deep Learning, so we will train our (simple) model on a desktop computer. But we will also use the free AWS student offer, to run the server application on EC2 instances.<br />
<br />
[[File:smart-move-architecture.PNG|600px]]<br />
<br />
=Targeted industries=<br />
<br />
We want to target all the sport industries, but particularly the ones where it would me meaningful to monitor specific moves. For example, the windsurf case is very relevant. It could help a beginner learn the maneuvers, because it is really hard to start when you don't have any experience. The beginner could know what placements and body position to adopt depending on the wind behavior. For a more experienced user, it would be more a matter of training session than adopting the good moves. The user could follow a specific training session where he would need to do the required moves. It is relevant because a training session can quickly become boring, and our system could make this routine more lively and with a real goal. This advanced user could also learn from the data gathered. With a pre-programmed session a windsurf instructor could judge the level of a new student.<br />
<br />
The majority of the sports still haven't been touched by the IT and electronic innovations. Only classic sports like cycling or trail running could enjoy application like tracking GPS, Strava, etc. The emergence of artificial intelligence, being able to run on small devices, like Tensor flow lite model on Android open a lot of new possibilities.<br />
<br />
=Prototype=<br />
<br />
At the beginning, we would like implement SmartMove for the windsurfing. But the windsurfing was not the best choice to prototype a project like smart move. To test our work, we should go to the lake and build sealing equipment. To bypass these constraints, we choose to work with windskate instead of windsurfing. In terms of functionality, the both are very close and we can work everywhere with non sealing equipment.<br />
<br />
All the details for the implementation of Smart Move for windskate are available here (french, english version is in writing).<br />
<br />
[[Media:CahierDesChargesWindskate.pdf]]<br />
<br />
=Machine learning model=<br />
To recognize the windsurf maneuvers, we will use a two-layer architecture. For the first layer : each smart case, will recognize its own move. For example, acceleration data will help us define the sail position compared to the board. Along with the angular information, we could find one case current position. The two board cases will allow us to keep a track of the current direction and the fallings.<br />
<br />
The following is a little schema illustrating our model (in French).<br />
<br />
[[File:Smartmove model machine learning.PNG|900px]]<br />
<br />
<br />
<br />
Those data will be inputs for the second layer which will identify the global windsurf move. This layer will easily learn while being supervised.<br />
<br />
Maneuver can be caracterized as the following : an almost static state, some active motion, back to an almost static state.<br />
<br />
A move could be caracterized by an automate similar to this one.<br />
<br />
[[File:Smartmove automate move.PNG|1000px]]<br />
<br />
<br />
This is the model as we see it now but it will evolve as we learn more about deep learning.<br />
<br />
Here is an example move : <br />
[[File:Maneuver example1.PNG|600px]]<br />
<br />
=Planning=<br />
<br />
This is our planing in its current state (29/11/2017) :<br />
<br />
[[File:Planning smartmove1.PNG|1100px]]<br />
<br />
<br />
=Conclusion=<br />
<br />
With the recognition of moves, and the adaptability of the machine learning, which would make our system easily portable on a lot of activities. We can imagine to build a lot of new applications above Smart move. For example, we can develop an application which can directly detect your success or not and modify your training in real time to optimize your progression, by giving new exercices or by giving informations to improve the move. In addition, as described for the windsurf case, we could analyze a session afterward, and help to find the problems thanks to data converted to be readable by their user, or directly analyzed by the application. Innovative devices like smart glasses or pico projector like Cicret bracelet could also be integrated in user application to allow an easy interaction with the application during sport.<br />
<br />
The power of machine learning is infinite, and it makes us think that our project has a big interest, because it could be applied in a lot of fields, compared to a standard solution where algorithms would be extremely specific for each use case.<br />
<br />
Our first goal with Smart move is to do a proof of concept of the interests of connected sports equipments used with machine learning algorithm. We can see Smart move like a pattern of application. Our final goal is to use it to develop an application for windsurfing. The open-iot challenge 4.0 is a very good opportunity to get financial help and above all, feedbacks from highly skilled people on our work.<br />
<br />
=References=<br />
* https://developer.android.com/index.html<br />
* https://www.tensorflow.org/<br />
* https://www.arduino.cc/<br />
* https://github.com/tensorflow/tensorflow<br />
* http://www.mqtt.org</div>
Clement.Rouquier
https://air.imag.fr/index.php?title=Projets-2016-2017-UltraTeamBest&diff=35235
Projets-2016-2017-UltraTeamBest
2017-04-02T23:03:03Z
<p>Clement.Rouquier: /* Week 11 (March 30nd - April 05nd) */</p>
<hr />
<div>=Project presentation=<br />
<br />
Ce projet propose de développer une application Web mobile permettant aux membres d'une équipe ou d'un groupe de randonneurs (marche, ski rando, ski piste, , ski nordique ...) de se positionner les uns les autres (temps de course, de marche, distance) en temps réel et de surveiller/gérer l'effort des membres de l'équipe.<br />
<br />
L'application permettra d'enrôler facilement les membres d'une équipe/groupe (Code numérique, QRCode, NFC, ...)<br />
<br />
L'application permettra de charger ou d'échanger les traces (GPX, GeoJSON) et les mesures physiologiques (''Hearth rate'', Foulée, ...) via des supports de stockage comme [[OwnCloud]], Google Drive, Dropbox, Facebook, [http://tracedetrail.fr/ Trace de Trail] ...<br />
<br />
L'application permettra également de mesurer l'effort en temps réel de/des coureurs (temps passé dans les régimes cardiaques) et d'en informer le coureur et/ou le chef d'équipes, les guides accompagnateurs. Pour cette fonctionnalité, il est prévu d'intégrer les mesures collectées sur des montres ou des bandes cardio Bluetooth 4.0 [[HRM]].<br />
<br />
L'application devra pouvoir fonctionner avec/sans réseau 4G/3G, avec/sans 2G (ie SMS), avec/sans un réseau [[LPWAN]] opéré ou privé ([[SigFox]], [[LoRa]]), avec un réseau LPWAN adhoc (broadcast).<br />
<br />
Matériel fourni:<br />
* [https://www.decathlon.fr/cardio-bluetooth-smart-40-id_8288269.html Bande cardio Bluetooth 4.0 HRM Décathlon].<br />
* [https://www.decathlon.fr/montre-gps-cardio-onmove220-hr-id_8374054.html Montre GPS cardiofréquencemètre ONMOVE 220 HRM connectée vert GEONAUTE]<br />
* 2 trackers GPS [[LoRa]] Semtech.<br />
<br />
API Google Android Wear<br />
* https://developer.android.com/wear/index.html<br />
<br />
= Team =<br />
<br />
* Supervisors : Didier Donsez<br />
<br />
* Members : Clément Rouquier, Anthony Geourjon<br />
<br />
* Departement : [http://www.polytech-grenoble.fr/ricm.html RICM 4], [[Polytech Grenoble]]<br />
<br />
= Progress of the project =<br />
<br />
The project started January 14th, 2015.<br />
<br />
== Week 1 (January 13th - January 18th) == <br />
<br />
* Choix du projet<br />
<br />
== Week 2 (January 19th - January 25th) == <br />
<br />
* Découverte du projet<br />
* Mise en route de la machine<br />
* Récupération du code<br />
* Mise en place des exigences<br />
<br />
=== 23 Janvier 2017 ===<br />
Connexion au modem : <br />
lsusb<br />
<br />
voir le nom de la connexion<br />
<br />
su<br />
apt-get install arduino<br />
<br />
run arduino<br />
<br />
Onglet : outils-> noniteur série-> choisir son device<br />
<br />
Onglet : outil->Moniteur série -> choisir 57600 bauds et choisir NL & CR<br />
<br />
Merci N. Palix pour l'astuce de l'utilisation d'Arduino.<br />
<br />
Utiliser les commandes fournies par D. Donsez dans son doc google ou le manuel pour interagir avec le modem.<br />
[http://ww1.microchip.com/downloads/en/DeviceDoc/40001784E.pdf Manuel]<br />
<br />
=== 24 janvier 2017 ===<br />
<br />
Création d'une mini appli android qui permet d’accéder au modem lorsqu'il est branché en série au téléphone. Si je connecte un modem au téléphone et le second à un PC, je peux les faire communiquer. Upload sur Github d'ici demain au pire. Pour réaliser cette magie noire, j'ai utilisé USBSerial : https://github.com/felHR85/UsbSerial. Et j'ai forké l'appli exemple du même auteur https://github.com/felHR85/SerialPortExample. La difficulté à été de faire fonctionner et surtout comprendre l'ensemble. J'ai ensuite configuré le code pour qu'il marche avec nos modems (bauds rate, parity none, cr and lf).<br />
<br />
<br />
== Week 3 (January 26th - February 01st) ==<br />
<br />
Réalisation des diagrammes UML de cas d'utilisations.<br />
Notre application n'as pas vraiment de diagramme de classes car la majorité des classes sont des Activity ou des Service.<br />
<br />
== Week 4 (February 02nd - February 08th) ==<br />
<br />
Essai d'intégration de l'application à GreenHouseCI pour faire du déploiement continu. Essai de divers IDE online pour essayer de faire du déploiement continu.<br />
<br />
Amélioration de l'application de test des boitiers Lora (raccourci, derniere commande utilisé..)<br />
<br />
== Week 5 (February 09th - February 15th) ==<br />
<br />
Modification de l'appli en application avec des onglets. Un onglet terminal USB série, un onglet GPS, un onglet configuration<br />
<br />
== Week 6 (February 23th - March 1st) ==<br />
<br />
Travail sur la map. Suivi d'un tuto pendant de longues heures pour que celui ci se révèle obsolete et donc inutilisables.<br />
Génération de la clé pour l'API de Google pour les maps.<br />
<br />
La clé : AIzaSyB4iTwLc9rSwh5RebtpKjUR0XKIIv5P9gY<br />
<br />
== Week 7 (March 02nd - March 08nd) ==<br />
<br />
Travail sur la map, tous les tutos se contredisent. Création d'un nouveau dépot GitHub afin de repartir sur de bonnes bases car tout le dépot est cancérisé<br />
<br />
== Week 8 (March 09nd - March 15nd) ==<br />
<br />
La carte commence à fonctionner, on peut ajouter des markers.<br />
On positionne aléatoirement des gens sur la carte.<br />
On peut calculer les distances entre eux.<br />
<br />
Ajout d'une page de configuration des groupes<br />
<br />
Début du travail sur le bluetooth, à l'aide du Googlesamples sur le Bluetooth Low Energy<br />
<br />
== Week 9 (March 16nd - March 22nd) ==<br />
<br />
Corerection de bug sur la map<br />
Partage de données entre activity<br />
Ajout de la possiblité de mettre un point de rendez vous que tous le monde voit<br />
<br />
Que se passe-t-il sur le bluetooth low energy?? Impossible d'intégrer le google sample<br />
<br />
== Week 10 (March 23nd - March 29nd) ==<br />
<br />
Ajout d'animation à la carte <br />
<br />
Amélioration des structures de données -> création de la classe Personne et UltrateamApplication<br />
<br />
Bluetooth finalement opérationnel. Il fallait changer le type de la classe principale en AppCompatActivity (au départ en ListActivity) et résoudre tous les problèmes que ce changement impliquait. J'avais déjà tenté cette solution mais m'étais résigné en voyant l'étendue des problèmes soulevés par ce changement, j'aurai du aller au bout de mes rêves.<br />
<br />
== Week 11 (March 30nd - April 05nd) ==<br />
<br />
Merge de notre application avec celle que l'autre groupe viens de push, rien n'est en commun. Aucune structure de donnée, rien. Une nuit passée à faire en sorte de concilier les structures afin que les classes les deux applications puissent communiquer au sein d'une seule.<br />
<br />
Aucune nouvelle de mqtt et de la reception de donnée par LoRa, le push de l'autre groupe n'incluant rien de cela. Du coup création de méthodes utiles pour la démonstration, afin de montrer que les receivers fonctionnent, qu'il ne manque plus qu'à recevoir les données.... On nous a promis un push, attendons.<br />
<br />
Refonte du design de l’application.<br />
<br />
Ajout d'un bouton SOS.<br />
<br />
Ajout de son lors du démarrage de la carte et de l'appui sur le bouton SOS.<br />
<br />
Push arrivé à 23h40 la veille de la soutenance. Tant pis, on fera sans.</div>
Clement.Rouquier
https://air.imag.fr/index.php?title=Projets-2016-2017-UltraTeamBest&diff=35232
Projets-2016-2017-UltraTeamBest
2017-04-02T22:57:55Z
<p>Clement.Rouquier: /* Week 10 (March 23nd - March 29nd) */</p>
<hr />
<div>=Project presentation=<br />
<br />
Ce projet propose de développer une application Web mobile permettant aux membres d'une équipe ou d'un groupe de randonneurs (marche, ski rando, ski piste, , ski nordique ...) de se positionner les uns les autres (temps de course, de marche, distance) en temps réel et de surveiller/gérer l'effort des membres de l'équipe.<br />
<br />
L'application permettra d'enrôler facilement les membres d'une équipe/groupe (Code numérique, QRCode, NFC, ...)<br />
<br />
L'application permettra de charger ou d'échanger les traces (GPX, GeoJSON) et les mesures physiologiques (''Hearth rate'', Foulée, ...) via des supports de stockage comme [[OwnCloud]], Google Drive, Dropbox, Facebook, [http://tracedetrail.fr/ Trace de Trail] ...<br />
<br />
L'application permettra également de mesurer l'effort en temps réel de/des coureurs (temps passé dans les régimes cardiaques) et d'en informer le coureur et/ou le chef d'équipes, les guides accompagnateurs. Pour cette fonctionnalité, il est prévu d'intégrer les mesures collectées sur des montres ou des bandes cardio Bluetooth 4.0 [[HRM]].<br />
<br />
L'application devra pouvoir fonctionner avec/sans réseau 4G/3G, avec/sans 2G (ie SMS), avec/sans un réseau [[LPWAN]] opéré ou privé ([[SigFox]], [[LoRa]]), avec un réseau LPWAN adhoc (broadcast).<br />
<br />
Matériel fourni:<br />
* [https://www.decathlon.fr/cardio-bluetooth-smart-40-id_8288269.html Bande cardio Bluetooth 4.0 HRM Décathlon].<br />
* [https://www.decathlon.fr/montre-gps-cardio-onmove220-hr-id_8374054.html Montre GPS cardiofréquencemètre ONMOVE 220 HRM connectée vert GEONAUTE]<br />
* 2 trackers GPS [[LoRa]] Semtech.<br />
<br />
API Google Android Wear<br />
* https://developer.android.com/wear/index.html<br />
<br />
= Team =<br />
<br />
* Supervisors : Didier Donsez<br />
<br />
* Members : Clément Rouquier, Anthony Geourjon<br />
<br />
* Departement : [http://www.polytech-grenoble.fr/ricm.html RICM 4], [[Polytech Grenoble]]<br />
<br />
= Progress of the project =<br />
<br />
The project started January 14th, 2015.<br />
<br />
== Week 1 (January 13th - January 18th) == <br />
<br />
* Choix du projet<br />
<br />
== Week 2 (January 19th - January 25th) == <br />
<br />
* Découverte du projet<br />
* Mise en route de la machine<br />
* Récupération du code<br />
* Mise en place des exigences<br />
<br />
=== 23 Janvier 2017 ===<br />
Connexion au modem : <br />
lsusb<br />
<br />
voir le nom de la connexion<br />
<br />
su<br />
apt-get install arduino<br />
<br />
run arduino<br />
<br />
Onglet : outils-> noniteur série-> choisir son device<br />
<br />
Onglet : outil->Moniteur série -> choisir 57600 bauds et choisir NL & CR<br />
<br />
Merci N. Palix pour l'astuce de l'utilisation d'Arduino.<br />
<br />
Utiliser les commandes fournies par D. Donsez dans son doc google ou le manuel pour interagir avec le modem.<br />
[http://ww1.microchip.com/downloads/en/DeviceDoc/40001784E.pdf Manuel]<br />
<br />
=== 24 janvier 2017 ===<br />
<br />
Création d'une mini appli android qui permet d’accéder au modem lorsqu'il est branché en série au téléphone. Si je connecte un modem au téléphone et le second à un PC, je peux les faire communiquer. Upload sur Github d'ici demain au pire. Pour réaliser cette magie noire, j'ai utilisé USBSerial : https://github.com/felHR85/UsbSerial. Et j'ai forké l'appli exemple du même auteur https://github.com/felHR85/SerialPortExample. La difficulté à été de faire fonctionner et surtout comprendre l'ensemble. J'ai ensuite configuré le code pour qu'il marche avec nos modems (bauds rate, parity none, cr and lf).<br />
<br />
<br />
== Week 3 (January 26th - February 01st) ==<br />
<br />
Réalisation des diagrammes UML de cas d'utilisations.<br />
Notre application n'as pas vraiment de diagramme de classes car la majorité des classes sont des Activity ou des Service.<br />
<br />
== Week 4 (February 02nd - February 08th) ==<br />
<br />
Essai d'intégration de l'application à GreenHouseCI pour faire du déploiement continu. Essai de divers IDE online pour essayer de faire du déploiement continu.<br />
<br />
Amélioration de l'application de test des boitiers Lora (raccourci, derniere commande utilisé..)<br />
<br />
== Week 5 (February 09th - February 15th) ==<br />
<br />
Modification de l'appli en application avec des onglets. Un onglet terminal USB série, un onglet GPS, un onglet configuration<br />
<br />
== Week 6 (February 23th - March 1st) ==<br />
<br />
Travail sur la map. Suivi d'un tuto pendant de longues heures pour que celui ci se révèle obsolete et donc inutilisables.<br />
Génération de la clé pour l'API de Google pour les maps.<br />
<br />
La clé : AIzaSyB4iTwLc9rSwh5RebtpKjUR0XKIIv5P9gY<br />
<br />
== Week 7 (March 02nd - March 08nd) ==<br />
<br />
Travail sur la map, tous les tutos se contredisent. Création d'un nouveau dépot GitHub afin de repartir sur de bonnes bases car tout le dépot est cancérisé<br />
<br />
== Week 8 (March 09nd - March 15nd) ==<br />
<br />
La carte commence à fonctionner, on peut ajouter des markers.<br />
On positionne aléatoirement des gens sur la carte.<br />
On peut calculer les distances entre eux.<br />
<br />
Ajout d'une page de configuration des groupes<br />
<br />
Début du travail sur le bluetooth, à l'aide du Googlesamples sur le Bluetooth Low Energy<br />
<br />
== Week 9 (March 16nd - March 22nd) ==<br />
<br />
Corerection de bug sur la map<br />
Partage de données entre activity<br />
Ajout de la possiblité de mettre un point de rendez vous que tous le monde voit<br />
<br />
Que se passe-t-il sur le bluetooth low energy?? Impossible d'intégrer le google sample<br />
<br />
== Week 10 (March 23nd - March 29nd) ==<br />
<br />
Ajout d'animation à la carte <br />
<br />
Amélioration des structures de données -> création de la classe Personne et UltrateamApplication<br />
<br />
Bluetooth finalement opérationnel. Il fallait changer le type de la classe principale en AppCompatActivity (au départ en ListActivity) et résoudre tous les problèmes que ce changement impliquait. J'avais déjà tenté cette solution mais m'étais résigné en voyant l'étendue des problèmes soulevés par ce changement, j'aurai du aller au bout de mes rêves.<br />
<br />
== Week 11 (March 30nd - April 05nd) ==<br />
<br />
Refonte du design de l’application.<br />
<br />
Ajout d'un bouton SOS.<br />
<br />
Ajout de son lors du démarrage de la carte et de l'appui sur le bouton SOS.</div>
Clement.Rouquier
https://air.imag.fr/index.php?title=Projets-2016-2017-UltraTeamBest&diff=35231
Projets-2016-2017-UltraTeamBest
2017-04-02T22:55:45Z
<p>Clement.Rouquier: /* Week 9 (March 16nd - March 22nd) */</p>
<hr />
<div>=Project presentation=<br />
<br />
Ce projet propose de développer une application Web mobile permettant aux membres d'une équipe ou d'un groupe de randonneurs (marche, ski rando, ski piste, , ski nordique ...) de se positionner les uns les autres (temps de course, de marche, distance) en temps réel et de surveiller/gérer l'effort des membres de l'équipe.<br />
<br />
L'application permettra d'enrôler facilement les membres d'une équipe/groupe (Code numérique, QRCode, NFC, ...)<br />
<br />
L'application permettra de charger ou d'échanger les traces (GPX, GeoJSON) et les mesures physiologiques (''Hearth rate'', Foulée, ...) via des supports de stockage comme [[OwnCloud]], Google Drive, Dropbox, Facebook, [http://tracedetrail.fr/ Trace de Trail] ...<br />
<br />
L'application permettra également de mesurer l'effort en temps réel de/des coureurs (temps passé dans les régimes cardiaques) et d'en informer le coureur et/ou le chef d'équipes, les guides accompagnateurs. Pour cette fonctionnalité, il est prévu d'intégrer les mesures collectées sur des montres ou des bandes cardio Bluetooth 4.0 [[HRM]].<br />
<br />
L'application devra pouvoir fonctionner avec/sans réseau 4G/3G, avec/sans 2G (ie SMS), avec/sans un réseau [[LPWAN]] opéré ou privé ([[SigFox]], [[LoRa]]), avec un réseau LPWAN adhoc (broadcast).<br />
<br />
Matériel fourni:<br />
* [https://www.decathlon.fr/cardio-bluetooth-smart-40-id_8288269.html Bande cardio Bluetooth 4.0 HRM Décathlon].<br />
* [https://www.decathlon.fr/montre-gps-cardio-onmove220-hr-id_8374054.html Montre GPS cardiofréquencemètre ONMOVE 220 HRM connectée vert GEONAUTE]<br />
* 2 trackers GPS [[LoRa]] Semtech.<br />
<br />
API Google Android Wear<br />
* https://developer.android.com/wear/index.html<br />
<br />
= Team =<br />
<br />
* Supervisors : Didier Donsez<br />
<br />
* Members : Clément Rouquier, Anthony Geourjon<br />
<br />
* Departement : [http://www.polytech-grenoble.fr/ricm.html RICM 4], [[Polytech Grenoble]]<br />
<br />
= Progress of the project =<br />
<br />
The project started January 14th, 2015.<br />
<br />
== Week 1 (January 13th - January 18th) == <br />
<br />
* Choix du projet<br />
<br />
== Week 2 (January 19th - January 25th) == <br />
<br />
* Découverte du projet<br />
* Mise en route de la machine<br />
* Récupération du code<br />
* Mise en place des exigences<br />
<br />
=== 23 Janvier 2017 ===<br />
Connexion au modem : <br />
lsusb<br />
<br />
voir le nom de la connexion<br />
<br />
su<br />
apt-get install arduino<br />
<br />
run arduino<br />
<br />
Onglet : outils-> noniteur série-> choisir son device<br />
<br />
Onglet : outil->Moniteur série -> choisir 57600 bauds et choisir NL & CR<br />
<br />
Merci N. Palix pour l'astuce de l'utilisation d'Arduino.<br />
<br />
Utiliser les commandes fournies par D. Donsez dans son doc google ou le manuel pour interagir avec le modem.<br />
[http://ww1.microchip.com/downloads/en/DeviceDoc/40001784E.pdf Manuel]<br />
<br />
=== 24 janvier 2017 ===<br />
<br />
Création d'une mini appli android qui permet d’accéder au modem lorsqu'il est branché en série au téléphone. Si je connecte un modem au téléphone et le second à un PC, je peux les faire communiquer. Upload sur Github d'ici demain au pire. Pour réaliser cette magie noire, j'ai utilisé USBSerial : https://github.com/felHR85/UsbSerial. Et j'ai forké l'appli exemple du même auteur https://github.com/felHR85/SerialPortExample. La difficulté à été de faire fonctionner et surtout comprendre l'ensemble. J'ai ensuite configuré le code pour qu'il marche avec nos modems (bauds rate, parity none, cr and lf).<br />
<br />
<br />
== Week 3 (January 26th - February 01st) ==<br />
<br />
Réalisation des diagrammes UML de cas d'utilisations.<br />
Notre application n'as pas vraiment de diagramme de classes car la majorité des classes sont des Activity ou des Service.<br />
<br />
== Week 4 (February 02nd - February 08th) ==<br />
<br />
Essai d'intégration de l'application à GreenHouseCI pour faire du déploiement continu. Essai de divers IDE online pour essayer de faire du déploiement continu.<br />
<br />
Amélioration de l'application de test des boitiers Lora (raccourci, derniere commande utilisé..)<br />
<br />
== Week 5 (February 09th - February 15th) ==<br />
<br />
Modification de l'appli en application avec des onglets. Un onglet terminal USB série, un onglet GPS, un onglet configuration<br />
<br />
== Week 6 (February 23th - March 1st) ==<br />
<br />
Travail sur la map. Suivi d'un tuto pendant de longues heures pour que celui ci se révèle obsolete et donc inutilisables.<br />
Génération de la clé pour l'API de Google pour les maps.<br />
<br />
La clé : AIzaSyB4iTwLc9rSwh5RebtpKjUR0XKIIv5P9gY<br />
<br />
== Week 7 (March 02nd - March 08nd) ==<br />
<br />
Travail sur la map, tous les tutos se contredisent. Création d'un nouveau dépot GitHub afin de repartir sur de bonnes bases car tout le dépot est cancérisé<br />
<br />
== Week 8 (March 09nd - March 15nd) ==<br />
<br />
La carte commence à fonctionner, on peut ajouter des markers.<br />
On positionne aléatoirement des gens sur la carte.<br />
On peut calculer les distances entre eux.<br />
<br />
Ajout d'une page de configuration des groupes<br />
<br />
Début du travail sur le bluetooth, à l'aide du Googlesamples sur le Bluetooth Low Energy<br />
<br />
== Week 9 (March 16nd - March 22nd) ==<br />
<br />
Corerection de bug sur la map<br />
Partage de données entre activity<br />
Ajout de la possiblité de mettre un point de rendez vous que tous le monde voit<br />
<br />
Que se passe-t-il sur le bluetooth low energy?? Impossible d'intégrer le google sample<br />
<br />
== Week 10 (March 23nd - March 29nd) ==<br />
<br />
Ajout d'animation à la carte <br />
<br />
Amélioration des structures de données -> création de la classe Personne et UltrateamApplication<br />
<br />
== Week 11 (March 30nd - April 05nd) ==<br />
<br />
Refonte du design de l’application.<br />
<br />
Ajout d'un bouton SOS.<br />
<br />
Ajout de son lors du démarrage de la carte et de l'appui sur le bouton SOS.</div>
Clement.Rouquier
https://air.imag.fr/index.php?title=Projets-2016-2017-UltraTeamBest&diff=35230
Projets-2016-2017-UltraTeamBest
2017-04-02T22:55:19Z
<p>Clement.Rouquier: /* Week 8 (March 09nd - March 15nd) */</p>
<hr />
<div>=Project presentation=<br />
<br />
Ce projet propose de développer une application Web mobile permettant aux membres d'une équipe ou d'un groupe de randonneurs (marche, ski rando, ski piste, , ski nordique ...) de se positionner les uns les autres (temps de course, de marche, distance) en temps réel et de surveiller/gérer l'effort des membres de l'équipe.<br />
<br />
L'application permettra d'enrôler facilement les membres d'une équipe/groupe (Code numérique, QRCode, NFC, ...)<br />
<br />
L'application permettra de charger ou d'échanger les traces (GPX, GeoJSON) et les mesures physiologiques (''Hearth rate'', Foulée, ...) via des supports de stockage comme [[OwnCloud]], Google Drive, Dropbox, Facebook, [http://tracedetrail.fr/ Trace de Trail] ...<br />
<br />
L'application permettra également de mesurer l'effort en temps réel de/des coureurs (temps passé dans les régimes cardiaques) et d'en informer le coureur et/ou le chef d'équipes, les guides accompagnateurs. Pour cette fonctionnalité, il est prévu d'intégrer les mesures collectées sur des montres ou des bandes cardio Bluetooth 4.0 [[HRM]].<br />
<br />
L'application devra pouvoir fonctionner avec/sans réseau 4G/3G, avec/sans 2G (ie SMS), avec/sans un réseau [[LPWAN]] opéré ou privé ([[SigFox]], [[LoRa]]), avec un réseau LPWAN adhoc (broadcast).<br />
<br />
Matériel fourni:<br />
* [https://www.decathlon.fr/cardio-bluetooth-smart-40-id_8288269.html Bande cardio Bluetooth 4.0 HRM Décathlon].<br />
* [https://www.decathlon.fr/montre-gps-cardio-onmove220-hr-id_8374054.html Montre GPS cardiofréquencemètre ONMOVE 220 HRM connectée vert GEONAUTE]<br />
* 2 trackers GPS [[LoRa]] Semtech.<br />
<br />
API Google Android Wear<br />
* https://developer.android.com/wear/index.html<br />
<br />
= Team =<br />
<br />
* Supervisors : Didier Donsez<br />
<br />
* Members : Clément Rouquier, Anthony Geourjon<br />
<br />
* Departement : [http://www.polytech-grenoble.fr/ricm.html RICM 4], [[Polytech Grenoble]]<br />
<br />
= Progress of the project =<br />
<br />
The project started January 14th, 2015.<br />
<br />
== Week 1 (January 13th - January 18th) == <br />
<br />
* Choix du projet<br />
<br />
== Week 2 (January 19th - January 25th) == <br />
<br />
* Découverte du projet<br />
* Mise en route de la machine<br />
* Récupération du code<br />
* Mise en place des exigences<br />
<br />
=== 23 Janvier 2017 ===<br />
Connexion au modem : <br />
lsusb<br />
<br />
voir le nom de la connexion<br />
<br />
su<br />
apt-get install arduino<br />
<br />
run arduino<br />
<br />
Onglet : outils-> noniteur série-> choisir son device<br />
<br />
Onglet : outil->Moniteur série -> choisir 57600 bauds et choisir NL & CR<br />
<br />
Merci N. Palix pour l'astuce de l'utilisation d'Arduino.<br />
<br />
Utiliser les commandes fournies par D. Donsez dans son doc google ou le manuel pour interagir avec le modem.<br />
[http://ww1.microchip.com/downloads/en/DeviceDoc/40001784E.pdf Manuel]<br />
<br />
=== 24 janvier 2017 ===<br />
<br />
Création d'une mini appli android qui permet d’accéder au modem lorsqu'il est branché en série au téléphone. Si je connecte un modem au téléphone et le second à un PC, je peux les faire communiquer. Upload sur Github d'ici demain au pire. Pour réaliser cette magie noire, j'ai utilisé USBSerial : https://github.com/felHR85/UsbSerial. Et j'ai forké l'appli exemple du même auteur https://github.com/felHR85/SerialPortExample. La difficulté à été de faire fonctionner et surtout comprendre l'ensemble. J'ai ensuite configuré le code pour qu'il marche avec nos modems (bauds rate, parity none, cr and lf).<br />
<br />
<br />
== Week 3 (January 26th - February 01st) ==<br />
<br />
Réalisation des diagrammes UML de cas d'utilisations.<br />
Notre application n'as pas vraiment de diagramme de classes car la majorité des classes sont des Activity ou des Service.<br />
<br />
== Week 4 (February 02nd - February 08th) ==<br />
<br />
Essai d'intégration de l'application à GreenHouseCI pour faire du déploiement continu. Essai de divers IDE online pour essayer de faire du déploiement continu.<br />
<br />
Amélioration de l'application de test des boitiers Lora (raccourci, derniere commande utilisé..)<br />
<br />
== Week 5 (February 09th - February 15th) ==<br />
<br />
Modification de l'appli en application avec des onglets. Un onglet terminal USB série, un onglet GPS, un onglet configuration<br />
<br />
== Week 6 (February 23th - March 1st) ==<br />
<br />
Travail sur la map. Suivi d'un tuto pendant de longues heures pour que celui ci se révèle obsolete et donc inutilisables.<br />
Génération de la clé pour l'API de Google pour les maps.<br />
<br />
La clé : AIzaSyB4iTwLc9rSwh5RebtpKjUR0XKIIv5P9gY<br />
<br />
== Week 7 (March 02nd - March 08nd) ==<br />
<br />
Travail sur la map, tous les tutos se contredisent. Création d'un nouveau dépot GitHub afin de repartir sur de bonnes bases car tout le dépot est cancérisé<br />
<br />
== Week 8 (March 09nd - March 15nd) ==<br />
<br />
La carte commence à fonctionner, on peut ajouter des markers.<br />
On positionne aléatoirement des gens sur la carte.<br />
On peut calculer les distances entre eux.<br />
<br />
Ajout d'une page de configuration des groupes<br />
<br />
Début du travail sur le bluetooth, à l'aide du Googlesamples sur le Bluetooth Low Energy<br />
<br />
== Week 9 (March 16nd - March 22nd) ==<br />
<br />
Corerection de bug sur la map<br />
Partage de données entre activity<br />
Ajout de la possiblité de mettre un point de rendez vous que tous le monde voit<br />
<br />
== Week 10 (March 23nd - March 29nd) ==<br />
<br />
Ajout d'animation à la carte <br />
<br />
Amélioration des structures de données -> création de la classe Personne et UltrateamApplication<br />
<br />
== Week 11 (March 30nd - April 05nd) ==<br />
<br />
Refonte du design de l’application.<br />
<br />
Ajout d'un bouton SOS.<br />
<br />
Ajout de son lors du démarrage de la carte et de l'appui sur le bouton SOS.</div>
Clement.Rouquier
https://air.imag.fr/index.php?title=Projets_2016-2017&diff=35226
Projets 2016-2017
2017-04-02T22:42:59Z
<p>Clement.Rouquier: /* Projet Semestre S8 */</p>
<hr />
<div><<[[Projets 2015-2016]] | [[Projets]] | [[Projets 2017-2018]]>><br />
=RICM=<br />
==RICM3==<br />
<br />
==RICM4==<br />
===Projet Semestre S8===<br />
<br />
Enseignants responsables : Olivier Richard, Didier Donsez<br />
<br />
Dates : Lundi 9/01/2017 au 29/03/2017<br />
Lancement: 9/01/2017 après-midi<br />
<br />
'''Soutenances:'''<br />
* le 3/04/2017 matin et après-midi<br />
* '''[https://groupes.renater.fr/reunion/foodle/Soutenance-projet-RICM4-58d91 ordre de passage]'''<br />
<br />
* '''Evaluation à mi-parcours le lundi/mardi ???''': Format: 10min (5min de présentation 3 slides au plus, 5min de discussion). Cette évaluation sera prise en compte dans la note finale.<br />
<br />
'''Consignes générales:'''<br />
<br />
* '''Vous devez être pro-actifs !!!''': Si des points sont pas ou mals spécifiés, vous le faîtes et vous justifiez vos choix. Pour les problèmes techniques éventuels vous pouvez: creuser la question, contacter l'auteur du code si il y a lieu, écrire un rapport de bug ('''Attention:''' ca se prépare !), soumettre un patch/pull request, contacter l'enseignant ou la personne référente du projet.<br />
<br />
* '''Vous devez maintenir une fiche de suivi de projet''': elle doit être mise à jour chaque semaine, elle rassemble les élements essentiels du projet, elle <br />
indique les évolutions du projet et présente sa feuille de route. '''Note:''' le nom de la fiche doit être composé du nom du projet et suffixé par ricm4_2015_2016. '''Cette fiche compte pour la note finale'''<br />
<br />
* '''Vous devez utiliser un logiciel de gestion de version''' pour vos développements comme [http://en.wikipedia.org/wiki/Git_%28software%29 git ] et nous vous conseillons d'utiliser le site [https://github.com github] pour l'hébergement de votre dépôt public.<br />
<br />
* Les document public (exemple sur github) doivent être rédigés en anglais (README, documentation, commentaires de code, nom de variables et de fonctions). Une bonnification sera accordée si le rapport et les transparents sont en anglais (la soutenance sera en francais).<br />
<br />
{|class="wikitable alternance"<br />
|+ Affectation des projets RICM4 2016-2017<br />
|-<br />
|<br />
!scope="col"| Sujet<br />
!scope="col"| Etudiants<br />
!scope="col"| Enseignant(s)<br />
!scope="col"| Fiche de suivi<br />
!scope="col"| Dépot git<br />
|-<br />
<br />
!scope="row"| 1<br />
| [[Ruche connectée LoRa]] <br />
| MOREAU, LESAGE, <br />
| Palix, Richard<br />
| [[RICM4_2016_2017_-_Ruche_Connectee| Fiche]] - [[RICM4_2016_2017_-_Ruche_Connectee_/_SRS|SRS]] - [[Ruche_Connectee/UML | UML]]<br />
| [https://github.com/GwenaelMoreau/connectedhive github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides1.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:PresentationMiParcours_Ruche.pdf|Presentation]]<br />
|-<br />
<br />
<br />
!scope="row"| 2<br />
| [[Serres connectées]]<br />
| BOISADAM, DALLE<br />
| Palix<br />
| [[Projets-2016-2017-Serres_connectées| Fiche]] - [[Projet-2016-2017-Serres_connectées_-_SRS| SRS]]<br />
| [https://github.com/igreenhouse/endpoints/blob/master/README.md github]<br />
| [[Media:rapport-IGreenhouse2017.pdf|Rapport]] - [[Media:Presentation_-_mi-projet_-_serre-connectee-2017.pdf|Transparents]] - [[Media:Poster-IGreenhouse2017.pdf|Poster]] - [[Media:Flyer-SerresConnectees2017.pdf|Flyer]] - [[Media:presentation-IGreenhouse2017.pdf|Presentation finale]]<br />
|-<br />
<br />
!scope="row"| 3<br />
| [[I-Greenhouse]] : [[Serre connectée aquaponie]]<br />
| MARCHAND, PELLICER<br />
| Palix, Donsez<br />
| [[Projets-2016-2017-I-Greenhouse : Serre connectée aquaponie | Fiche]] - [[Projets-2015-2016-I-Greenhouse : Serre connectée aquaponie/UML_Diagrams | UML]] - [[Projets-2015-2016-I-Greenhouse : Serre connectée aquaponie/SRS | SRS]]<br />
| [https://github.com/igreenhouse Full github] - [https://github.com/stractus/I-Greenhouse-Aquaponie Project's github]<br />
| [[Media:rapport-IGreenhouse2017.pdf|Rapport]] - [[Media:presentationMiParcours_igreenhouse.pdf|Transparents]] - [[Media:Poster-IGreenhouse2017.pdf|Poster]] - [[Media:Flyer-IGreenhouse2017-aquaponie.pdf|Flyer]] - [[Media:IGrennhouseAquaponie.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 4<br />
| [[Station de pompage connectée]]<br />
| FERNANDES, CHEVALIER, FU <br />
| Palix, Donsez, Richard<br />
| [[Projets-2016-2017-Station de pompage connectée| Fiche]] - [[Projets-2016-2017-Station de pompage connectée - SRS| SRS]] - [[Projets-2016-2017-Station de pompage connectée - UML| UML]]<br />
| [https://github.com/GroupeProjetRICM4StationDePompage2017/ github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides.pdf|Transparents]] - [[Media:Flyer_station_de_pompage_connectee.pdf|Flyer]] - [[Media:rapport_station_de_pompage_connectee.pdf|Rapport]] - [[Media:presentation_station_de_pompage_connectee.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 5<br />
| Géolocation Indoor basée sur les [[Beacon]]s BLE <br />
| COCHINHO, GAMBRO<br />
| Donsez<br />
| [[Projets-2016-2017-IndoorGeoloc| Fiche]] - [[Projets-2016-2017-IndoorGeoloc-UML | UML]] - [[Proj-2016-2017-IndoorGeoloc/SRS|SRS]]<br />
| [https://github.com/LouisCochinho/Geoloc_Indoor github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides1.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:IndoorGeoloc-miparcours.pdf|Presentation mi-parcours]]<br />
|-<br />
<br />
!scope="row"| 6<br />
| [[Application de suivi de colis avec RFID UHF (EPC Global)]],<br />
| AMODRU-FAVIN, DELISE <br />
| Donsez<br />
| [[Projets-2016-2017-SuiviColisRFID| Fiche]] - [[Proj-2016-2017-ColisMatter/SRS|SRS]]<br />
| [https://github.com/delisea/ColisMatter github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides1.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 7<br />
| [[StartAIR 2017]]<br />
| ODIEVRE, CHAMBONNET<br />
| Palix<br />
| [[Projets-2016-2017-StartAir| Fiche]] - [[Projets-2016-2017-StartAir-UML| UML]] - [[Projets-2016-2017-StartAir-SRS| SRS]]<br />
| [https://github.com/s6mon/StartAir2017.git github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides1.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 8<br />
| [[SmartSelfService]] <br />
| ABONNENC, BONHOURE<br />
| Donsez<br />
| [[Projets-2016-2017-SmartSelfService| Fiche]] - [[Projets-2016-2017-SmartSelfService/SRS | SRS]] - [[Projets-2016-2017-SmartSelfService/UML | UML ]]<br />
| [https://github.com/RICM4SmartSelfService/RICM4_Projet_SmartSelfService github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:SmartSelfService_transparents.pdf|Transparents]] - [[Media:Flyer_Smart_Self_Service_2017.pdf|Flyer]] - [[Media:rapport_Smart_Self_Service_2017.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 9<br />
| [[Interface de contrôle "Photo" pour OpenHAB]]<br />
| LACHARTRE, SAVARY <br />
| Donsez<br />
| [[Projets-2016-2017 - Interface de contrôle "Photo" pour OpenHAB| Fiche]]- [[Projets-2016-2017 - Interface de contrôle "Photo" pour OpenHAB/SRS| SRS]]<br />
| [https://github.com/ArchibaldLeMagnifique/smarthome github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides1.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:Diapo Openhab(1).pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 10<br />
| [[UltraTeam|UltraTeam: Application Mobile pour les Ultra-trailers et les randonneurs]],<br />
| ROUQUIER, GEOURJON<br />
| Donsez<br />
| [[Projets-2016-2017-UltraTeamBest| Fiche]]- [[Projets-2016-2017-UltraTeamBest/SRS| SRS]]<br />
| [https://github.com/ultratrail github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:UltraTEAM_Presentation_Mi_Projet.pdf|Présentation Mi-Parcours]] - [[Media:UltraTEAM_GR_Poster.png|Flyer]] - [[Media:UltraTEAM_GR_Rapport.pdf|Rapport]] - [[Media:UltraTEAM_GR_Presentation.pdf|Presentation Finale]]<br />
|-<br />
<br />
!scope="row"| 10<br />
| [[UltraTeam|UltraTeam: Application Mobile pour les Ultra-trailers et les randonneurs]],<br />
| GALLIER, FERRERA<br />
| Donsez<br />
| [[Projets-2016-2017-UltraTeam| Fiche]]- [[Projet-2016-2017-UltraTeam/SRS| SRS]] - [[Projet-2016-2017-UltraTeam/UML | UML ]]<br />
| [https://github.com/ultratrail github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:UltraTEAM_Presentation_Mi_Projet.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 11<br />
| [[Plateforme d'analyse de données IoT]] <br />
| ALLARD, ROCHER<br />
| Palix, Richard<br />
| [[Projets-2016-2017-Plateform_Analyse_Données_IOT| Fiche]] [[Projets-2016-2017-Plateform_Analyse_Données_IOT/SRS| SRS]] [[Projets-2016-2017-Plateform_Analyse_Données_IOT/UML| UML]]<br />
| [https://github.com/lambertrocher/Projets-2016-2017-Plateform-Analyse-Donn-es-IOT github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:Plateforme_IoT_presentation.pdf|Transparents]] - [[Media:Flyer_platform.pdf|Flyer]] - [[Media:RapportPlatform.pdf|Rapport]] - [[Media:presentation_Platform.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 13<br />
| [[IRock : Surveillance Géotechnique LoRa|iRock]]<br />
| SIEST, VEGREVILLE<br />
| Donsez<br />
| [[Projets-2016-2017-Projet_IRock| Fiche]]<br />
| [https://github.com/Shadsa/IRock github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides1.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 14<br />
| [[GrenobloisFuté]]<br />
| VIAL, GUERRY<br />
| Palix<br />
| [[Projets-2016-2017-GrenobloisFute| Fiche]]<br />
| [https://github.com/Gr05/Osmand github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides1.pdf|Transparents]] - [[Media:GrenobloisFuteFlyer.pptx|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 15<br />
| [[GeoDiff]]<br />
| AMAURIN, BECHER, BROCHIER<br />
| Palix<br />
| [[Projets-2016-2017-GeoDiff| Fiche]] - [[Projets-2016-2017-GeoDiff/SRS| SRS]] - [[Projets-2016-2017-GeoDiff/UML| UML]]<br />
| [https://github.com/Hbecher/GeoDiff github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides1.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:Geodiff-mini-soutenance.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 16<br />
| [[floatingimage UPnP feed]] <br />
| FUSTES, DEREYMEZ<br />
| Palix, Donsez<br />
| [[Projets-2016-2017-floatingimageUPnP | Fiche]] - [[Projets-2016-2017-floatingimageUPnP/SRS | SRS]] - [[Projets-2016-2017-floatingimageUPnP/UML | UML]]<br />
| [https://github.com/fustesr/floatingimage github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides1.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 17<br />
| Webconférence [[Google VR]]<br />
| RIVOAL, ZENNOUCHE <br />
| Donsez<br />
| [[Projets-2016-2017-VideoConference| Fiche]] - [[viseoconferenceUML| UML]]<br />
| [https://github.com/ github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides1.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:videoconference.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 18<br />
| [[NixOsTegraX1 | NixOS for Tegra X1]]<br />
| NASSIK, TURRIN<br />
| Richard<br />
| [[Projets-2016-2017-NixosTegraX1| Fiche]] - [[NixosTegraX1/SRS| SRS]]<br />
| [https://github.com/mesh33/nixpkgs github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:Nixos.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 20<br />
| [[ExperimentControl | Experiment Control]] <br />
| HOMBERG, LEMAIRE<br />
| Richard<br />
| [[Proj-2016-2017-ExperimentControl| Fiche]] - [[ExperimentControl/SRS| SRS]]<br />
| [https://github.com/TimotheeLemaire/Project_RICM4_2017 github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:Experiment Control.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 23<br />
| Intégration de caméras UPnP dans [[OpenHAB]] <br />
| BLANC, LAW<br />
| Donsez<br />
| [[Projets-2016-2017-UPnP Cameras integration into OpenHAB | Fiche]] - [[Projets-2016-2017-UPnP Cameras integration into OpenHAB/SRS | SRS]]<br />
| [https://github.com/lawchris/openhab2-addons/tree/upnp-camera-binding github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides1.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:UpnpCamera BLANC LAW.pdf|Presentation mi_parcours]]<br />
|-<br />
<br />
|}<br />
<br />
'''Propositions de projets:'''<br />
<br />
# [[Ruche connectée LoRa]] (OpenHab) , Didier Donsez, Denis Jongmann, Olivier Richard<br />
# [[Serres connectées]] (OpenHab) Surveillance des serres d'une exploitation agricole. Nicolas Palix, Michaël Périn et Vincent Hibon ("Les jardins du Coteau").<br />
# [[I-Greenhouse]] : [[Serre connectée aquaponie]] (OpenHab). Nicolas Palix, Didier Donsez (2 groupes)<br />
# [[Station de pompage connectée]]. Nicolas Palix<br />
# Géolocation Indoor basée sur les [[Beacon]]s BLE (iBeacon, AltBeacon, Eddystone). Utilisation d'algorithmes de trigonalisation ([https://github.com/jpias/beacon-pfilter-simulation/wiki lien]), (Didier Donsez, Vivien Quéma)<br />
# [[Application de suivi de colis avec RFID UHF (EPC Global)]], Didier Donsez<br />
# Projet [[StartAIR 2017]] : interface tablette de tableau de bord d'ULM, fiabilisation du réflecteur Flight Simulator (Fabrice Dubois, Nicolas Palix)<br />
# [[SmartSelfService]] (Didier Donsez, François Portet) en collaboration avec PHELMA.<br />
# [[Interface de contrôle "Photo"]] pour [[OpenHAB]] : éventuelle contribution à la fondation Eclipse (Didier Donsez)<br />
# [[UltraTeam|UltraTeam: Application Mobile pour les Ultra-trailers et les randonneurs]] (Didier Donsez, Vivien Quéma)<br />
# [[Plateforme d'analyse de données IoT]] (Nicolas Palix)<br />
# Extension de [[Swagger]] pour [[CoAP]] : Application avec [[Californium]] (Contribution à une communauté open-source), (Didier Donsez)<br />
# [[IRock : Surveillance Géotechnique LoRa|iRock]]: Plateforme Ubilitics pour la surveillance des risques naturelles (déploiement grande échelle de capteurs [[LoRa]] sur le terrain pour l'observation de glissement de terrain) en commun avec Geotech (à confirmer) : Didier Donsez, Sandrine Caroly, Denis Jongmans.<br />
# [[GrenobloisFuté]] Couche trafic sur OsmAnd avec un greffon. Données dynamique de la métro. Dvp Android. Nicolas Palix.<br />
# [[GeoDiff]] Production, visualisation, fusion de variations (diff) sur de l'information géocodée : Nicolas Palix (Multimédia)<br />
# [[floatingimage UPnP feed]] Cadre photos connecté à Kodi. Dvp Android. Nicolas Palix, Didier Donsez<br />
# Webconférence WebRTC stereoscopique avec [[Google VR]] SDK for Android (Jérôme Maisonnasse, Didier Donsez)<br />
# [[NixOsTegraX1 | NixOS for Tegra X1]]: (Olivier Richard)<br />
# [[LittleJump | Little Jump]]: Inventer un blablacar pour les petits trajets (Olivier Richard)<br />
# [[ExperimentControl | Experiment Control]] Développer un moteur de conduite d'expérience pour les systèmes distribués (Olivier Richard) <br />
# [[CrystalLanguageMicrocontroller | Crystal Language for Microcontroller]] (Olivier Richard)<br />
# Questionnaires automatiques, (Pierre Gillois, Didier Donsez)<br />
# Intégration de caméras UPnP dans [[OpenHAB]] (Didier Donsez)<br />
Moins prioritaires:<br />
# [[OwnPOI]] ownCloud plugin and osmand plugin to share POI and favorite positions. Dvp Android. Nicolas Palix.<br />
# [[OwnList]] ownCloud plugin and Android app to share a TODO list. Nicolas Palix.<br />
# [[Osmand-Auto]] Support Android Auto sur [[OsmAnd]] Nicolas Palix,<br />
# [[OCR de composition d'étiquettes alimentaires pour la base Open Food Facts]] (Nicolas Palix, Didier Donsez)<br />
Sous réserve de matériel<br />
# Reconstruction 3D d'images thermiques provenant des réseaux de caméras thermiques [[Flir One]] : application au sport connecté(Didier DONSEZ)<br />
# Géolocation Indoor basée sur [[Decaware]]. Utilisation d'algorithmes de trigonalisation ([https://github.com/jpias/beacon-pfilter-simulation/wiki lien]), (Didier Donsez, Vivien Quéma)<br />
<br />
==RICM5==<br />
===Projet Semestre S10===<br />
<br />
Enseignants responsables : Didier Donsez<br />
<br />
====Calendrier====<br />
<br />
le projet commence le 23/01 et se termine le 17/03.<br />
<br />
Réunion de présentation : 23/01 à 8H00 (RdV Salle AIR).<br />
<br />
Soutenance à mi-parcours : Date: Vendredi 17/02 de 08:00-11:00 (Salle P257)<br />
<br />
Soutenance (puis Pot de la fin): A DEFINIR (Provisoirement le 16/03 après-midi)<br />
<br />
====Projet====<br />
<br />
<br />
<br />
{|class="wikitable alternance"<br />
|+ Affectation des projets RICM5 2016-2017<br />
|-<br />
|<br />
!scope="col"| Sujet<br />
!scope="col"| Etudiants<br />
!scope="col"| Enseignant(s)<br />
!scope="col"| Fiche de suivi<br />
!scope="col"| Dépot git<br />
!scope="col"| Supports<br />
|-<br />
<br />
!scope="row"| 1<br />
| [[RealTimeSubtitle - 2016/17 - RICM5| Sous-titre d'un cours en temps réel]] <br />
| BRUEL, BUI, LECHEVALLIER, MATHIEU, MOURET, <br />
| Laurent Besacier, Didier Donsez, Marie-Paule Balicco, Jérôme Maisonnasse<br />
| [[RealTimeSubtitle - 2016/17 - RICM5| Fiche]] - [[RICM5_2016_2017_-_RealTimeSubtitle/SRS|SRS]]<br />
| [https://gitlab.com/annaBanana/RealTimeSubtitles gitlab]<br />
| [[Media:slideRealTimeSubtitle2017s.pdf|Présentation intermédiare]] - [[Media:presentationRealTimeSubtitle2017.pdf|Presentation finale]] - [https://35.157.107.127| site web]<br />
|-<br />
<br />
!scope="row"| 2<br />
| [[Réalité virtuelle et Augmentée pour la maintenance d'usines]] <br />
| BERTRAND-DALECHAMPS, POPEK, ZAHO, SUN, NDIAYE, HAMMOUTI, <br />
| Didier Donsez, Georges-Pierre Bonneau<br />
| [[RVA_Fiche_de_suivi | Fiche de suivi]] - [[SRS_Realite_Virtuelle|SRS]]<br />
| [https://github.com/ github]<br />
| [[Media:RVA_PresentationConception.pdf|Presentation intermédiaire]] - [[Media:RVA_PresentationFinale.pdf|Presentation Finale]] - [[Media:RVA_DocUtilisateur.pdf|Documentation Utilisateur]] - [[Media:DevAR.pdf|Documentation Développeur]] - [[RVA_PageVideo|Videos]]<br />
|-<br />
<br />
!scope="row"| 3<br />
| [[CoCass|CoCaas : CaaS Docker collaboratif]] <br />
| ARRADA, FAURE, FOUNAS, HALLAL, MEDEWOU, VOUTAT, <br />
| Didier Donsez<br />
| [[Fiche de suivi - CoCaas|Fiche]] - [[SRS-CoCaas|SRS]]<br />
| [https://github.com/CoCaas/ github]<br />
| [[Media:MPI_CoCaas.pdf|Rapport MPI]] - [https://docs.google.com/presentation/d/10nwRHcUiLSjD7otbTfsswkDlIWpb3ddvc19HUSlrKvg/edit?usp=sharing Presentation intermédiaire] - [[Media:Test.pdf|Presentation finale]]<br />
|-<br />
<br />
<br />
!scope="row"| 4<br />
| [[Projet 2017 : Gestionnaire de packages Polytech| Gestion des images systèmes pour les supports à Polytech Grenoble]] <br />
| GATTAZ, LECORPS, NOUGUIER, RAMEL, <br />
| Didier Donsez<br />
| [[Fiche de suivi - Gestionnaire de packages| Fiche]] - [[SRS - Gestionnaire de packages|SRS]]<br />
| [https://github.com/Packebian github]<br />
| [[Media:PackagesPresentationConception.pdf|Presentation intermédiaire]] - [[Media:PackagesPresentationFinale2.pdf| Présentation finale]]<br />
|-<br />
<br />
<br />
!scope="row"| 5<br />
| [[Suggestion_intelligente_de_films_basée_sur_TensorFlow | Suggestion intelligente de films basée sur TensorFlow]] <br />
| DUNAND, HATTINGUAIS, NAVARRO, NIOGRET, RACHEX, <br />
| Didier Donsez<br />
| [[Fiche_de_suivi_-_Recommandation_intelligente_de_films| Fiche]] - [[SRS_-_Recommandation_intelligente_de_films|SRS]]<br />
| [https://github.com/DeepLearningMoviesProject github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:presentation.pdf|Presentation intermédiaire]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 6<br />
| [[Projet Startup]] <br />
| LUCIDARME, DELAPORTE, <br />
| Didier Donsez<br />
| [[RICM5_2016_2017_-_Startup| Fiche]] - [[RICM5_2016_2017_-_Startup/SRS|SRS]]<br />
| [https://github.com/ github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation intermédiaire]] - [[Media:presentation.pdf|Presentation]] - Video - Photos<br />
|-<br />
<br />
<br />
!scope="row"| 7<br />
| [[Contributions à RIOT OS]] autour de [[LoRa]] <br />
| Taquyeddine ZEGAOUI, <br />
| Didier Donsez<br />
| [[RICM5_2016_2017_-_RIOTOSLoRa| Fiche]] - [[RICM5_2016_2017_-_RIOTOSLoRa/SRS|SRS]]<br />
| [https://github.com/ github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation intermédiaire]] - [[Media:presentation.pdf|Presentation]] - Video - Photos<br />
|-<br />
<br />
|}<br />
<br />
<br />
Projets non choisi:<br />
# Borne d'accueil handicap : Didier Donsez, Marie-Paule Balicco, Jérôme Maisonnasse<br />
# [[Plateforme IoT du LIG basé sur Walt]] : Bernard Tourancheau, Franck Rousseau, Etienne Dublé<br />
<br />
====Soutenance à mi-parcours====<br />
Date: Vendredi 17/02 de 08:00-11:00 (Salle P257)<br />
# 08H00-08H25: [[RealTimeSubtitle - 2016/17 - RICM5| Sous-titre d'un cours en temps réel]]<br />
# 08H25-08H50: [[Réalité virtuelle et Augmentée pour la maintenance d'usines]] (avec [[Unity 3D]] et [[Google VR]] SDK for Android, caméra Flir One, [[WebRTC]])<br />
# 08H50-09H15: [[CoCass|CoCass : CaaS Docker collaboratif]] : Didier Donsez (ARRADA, FAURE, FOUNAS, HALLAL, MEDEWOU, VOUTAT)<br />
# 09H15-09H40: [[Projet 2017 : Gestionnaire de packages Polytech| Gestion des images systèmes pour les supports à Polytech Grenoble]]<br />
# 09H40-10H05: [[Suggestion_intelligente_de_films_basée_sur_TensorFlow | Suggestion intelligente de films basée sur TensorFlow]]<br />
# 10H05-10H30: Projet Startup<br />
# 10H30-11H00:[[Contributions à RIOT OS]] autour de [[LoRa]]<br />
<br />
Instructions:<br />
* 10 minutes de présentation + démonstration.<br />
* 10 minutes de questions<br />
<br />
(7 transparents maximum pour résumer l'organisation et l'avancement du projet)<br />
<br />
====Soutenance (puis Pot de la fin)====<br />
Le 16/03 en P129 le matin et P007 l'après-midi<br />
<br />
* 10:00-10:40 [[Projet Startup]]<br />
* 10:45-11:25 [[Projet 2017 : Gestionnaire de packages Polytech| Gestion des images systèmes pour les supports à Polytech Grenoble]]<br />
* 13:00-13:40 [[RealTimeSubtitle - 2016/17 - RICM5| Sous-titre d'un cours en temps réel]]<br />
* 13:45-14:25 [[Réalité virtuelle et Augmentée pour la maintenance d'usines]]<br />
* 14:30-15:10 [[CoCass|CoCass : CaaS Docker collaboratif]]<br />
* 15:15-15:55 [[Suggestion_intelligente_de_films_basée_sur_TensorFlow | Suggestion intelligente de films basée sur TensorFlow]] <br />
* 16:00-16:30 [[Contributions à RIOT OS]] autour de [[LoRa]] <br />
<br />
* Pot d' "Au Revoir" (16:45-18:30 à la Kfet de Polytech)<br />
<br />
Instructions:<br />
*Chaque soutenance comporte 15 minutes de présentation, 15 minutes de démonstration et 10 minutes de questions. Un transparent doit être consacré au travail confié et réalisé par les étudiants en DUT (AVOSTI).<br />
* Répétez plusieurs fois votre présentation et votre démonstration.<br />
* L'ensemble des documents (y compris photos, vidéos et ''[[Logiciels#Screencast|screencast]]s'') doivent être accessibles depuis le tableau ci-dessous et dans chaque fiche de suivi. Prévoyez une copie sur clé USB.<br />
* Les étudiants de DUT vous accompagnent lors de votre soutenance.<br />
* '''TOUT Le matériel prêté devra être rapporté et restitué dans un sac cabas lors de la soutenance.'''<br />
<br />
====Séances Suivi:====<br />
* Lundi 30/01 - 08:00-11:00<br />
* Mardi 31/01 - 10:00-12:00<br />
* Lundi 06/02 - 08:00-10:00<br />
* Lundi 13/02 - 08:00-10:00<br />
* Lundi 27/02 - 08:00-10:00<br />
* Lundi 06/03 - 08:00-10:00<br />
* Lundi 13/03 - 08:00-09:45<br />
<br />
====Séances MPI:====<br />
* Jeudi 26 janvier matin (Stéphanie Diligent)<br />
* Jeudi 2 février matin (Stéphanie Diligent)<br />
* Lundi 6 février matin (Emmanuelle Tréhoust)<br />
* Mardi 14 février matin (Emmanuelle Tréhoust)<br />
* Lundi 6 mars après midi (Stéphanie Diligent et Emmanuelle Tréhoust)<br />
<br />
<br />
====Bonus track====<br />
Remarque: [http://snowcamp.io/2017/fr/welcome Netbeans Days 2017], 7 Février 2017, Bâtiment IMAG. Pensez à vous inscrire!<br />
<br />
Remarque: [https://wiki.eclipse.org/Eclipse_IoT_Day_Grenoble_2017 Eclipse IoT Days 2017], 9-10 Mars 2017, Bâtiment IMAG. Pensez à vous inscrire!<br />
<br />
=Année à définir=<br />
<br />
* [[Non linear MKV Editor]] : Nicolas Palix<br />
* [[Smart campus augmenté et contributif]]<br />
* [[Intégration OpenHAB / OpenTele]]<br />
* [[Client MQTT pour OBD]] sur Android<br />
* [[Sommeilomètre]] (Michael Perin, Didier Donsez)<br />
* [[Open DynDNS]]<br />
* [[IllumiRoom]]<br />
* [[Emergency mobile app]] Dvp Android. Nicolas Palix pour TIS, PRI et RICM<br />
* [[Kodi Reflexive Remote]] Dynamic remote control for Kodi. Nicolas Palix.<br />
* [http://intgat.tigress.co.uk/rmy/uml/index.html Zerofree] Portage de zerofree pour d'autres systèmes de fichiers que ext2/3/4 (notamment Unix FS). Voir également la page [http://packages.qa.debian.org/z/zerofree.html QA de Debian]. Nicolas Palix.<br />
* [[Bracelet électronique de monitoriing de l'alcoolémie]]<br />
* [[Oxymètre DIY]]<br />
* [[PinSound]]<br />
* [[Extension du support STM32Fx-Discovery dans libopencm3]] : Olivier Richard<br />
* [[Arduino et libopencm3]] : Olivier Richard<br />
* [[Data Acquisition System et Stm32f4-Discovery]] : Olivier Richard<br />
* [[Distributed Data Storage System]] : Olivier Richard<br />
* [[Dashboard based on w2ui]]<br />
* [[Environnement logiciel pour FabLab]] : Olivier Richard<br />
* [[Environnement logiciel pour le Live Programming]] : Olivier Richard<br />
* [[VirtualPinball]]<br />
* Tondeuse dessinatrice<br />
* [[ImmersiveDog]] Nicolas Glade, Didier Donsez<br />
* Projet avec [[OpenROV]] ???? : Didier Donsez<br />
* [[Sphero]] malin (Michael Périn) (2 etudiants)<br />
* [[Drone paramoteur]] ???<br />
* [[Optimisation de l'énergie pour cyclotouriste électrique]]<br />
* [[SmartSelfService|Smart Self-Service 2015]] Didier Donsez & Vivien Quema<br />
* [[Station Météo LoRa]] : contribution au projet [[LoRA-Fabian]] (Didier Donsez)<br />
<br />
=Réserve (boite à idées)=<br />
<br />
# [[Tag et Paint Ball en réalité augmentée]] (Michaël Périn) <br />
# [[Passe moi ton fichier]] (Michaël Périn) <br />
# [[Extensions à Fab Server]] (Jean-Michel Molenaar) sous reserve (CM ou SR)<br />
# [[Table multijeux de café 2.0]]<br />
# [[ GPIO_Qemu_RasPI| Emulation des GPIO dans QEMU pour le carte Raspberry Pi]] (Olivier Richard)<br />
# [[ Qemu et STM32F0-Discovery ]] (Olivier Richard)<br />
# [[Serrure à clé MIDI multifactorielle]] (Didier Donsez)<br />
# [[Table interactive musicale]] (Didier Donsez)<br />
# [[iMailbox]] (Didier Donsez)<br />
# [[AmILight]] (eclairage d'ambience intelligent) (Didier Donsez)<br />
# [[PDAmeetPDA]] (synchronisation d'agenda) (Michaël Périn)<br />
# [[1 000 000 VMs]] (expérimentation d'application distribuée à très grande échelle) (Olivier Richard) (2-3 RICM4)<br />
# [[Multiple Kinect]] (utilisation simultanée de plusieurs Kinect) (Olivier Richard) (RICM ou 3I)<br />
# [[Kinect musicale]] (Didier Donsez) (RICM)<br />
# [[Ktechlab Simavr Arduino | Ktechlab et integration de Simavr(Arduino)]] (Olivier Richard) (2-3 RICM4-SR)<br />
# Ocaml on AVR (Arduino)<br />
# Ocaml on Cortex-M3<br />
# [[Arduino on STM32 Discovery]]<br />
# [[Reverse Geocache Puzzle Box]]<br />
# [[OSGi ME]] (Didier Donsez)<br />
# [[Affichage Etudiant à Polytech]]<br />
# Synthèse 3D + motion capture Kinect<br />
# Logiciel d'[[apprentissage du calcul]] sur tablette Android (reconnaissance de chiffres manuscrits)<br />
# Plancher de verre (saint gobain) à la [http://www.wat.tv/video/mickael-jackson-billie-jean-oewj_2ey2h_.html Mickael Jackson dans Billie Jean] ! woo<br />
# [[Ktechlab Simavr Arduino | Ktechlab et integration de Simavr(Arduino)]] (Olivier Richard) (2-3 RICM4-SR)<br />
# [[CNC]]<br />
# [[Idées en Vrac]]<br />
# Scheme Everywhere (Olivier Richard) (2-3 RICM4-SR)<br />
# [[Projet Station Météo]]<br />
# Ocaml on AVR (Arduino)<br />
# [[Table interactive musicale]] (Didier Donsez)<br />
# [[AmILight]] (eclairage d'amnbience intelligent) (Didier Donsez)<br />
# [[Cube pointeur]] d'activité ingénieur<br />
# [http://www.instructables.com/id/Puppeteer-Motion-Capture-Costume/ Puppeteer Motion-Capture Costume]<br />
# [[Musical Staircase]] @ Polytech (Didier Donsez, 1 RICM4 + 1 3I4)<br />
# [[Total Recall]] (Didier Donsez)<br />
# [[SoundMachine]]<br />
# [[IGN-OSM|Importation de données IGN publiques dans OSM]]<br />
# [[Speed-limit-OSM|Analyse de traces GPX pour déterminer les limitations de vitesse]]<br />
# [[Multi perceptual cameras]] (Didier Donsez)<br />
# [[Photomaton 3D]] (Didier Donsez)<br />
# [[ArduCopter]]<br />
# [[Parking Intelligent]]</div>
Clement.Rouquier
https://air.imag.fr/index.php?title=File:UltraTEAM_GR_Presentation.pdf&diff=35225
File:UltraTEAM GR Presentation.pdf
2017-04-02T22:41:35Z
<p>Clement.Rouquier: </p>
<hr />
<div></div>
Clement.Rouquier
https://air.imag.fr/index.php?title=File:UltraTEAM_GR_Rapport.pdf&diff=35224
File:UltraTEAM GR Rapport.pdf
2017-04-02T22:39:00Z
<p>Clement.Rouquier: </p>
<hr />
<div></div>
Clement.Rouquier
https://air.imag.fr/index.php?title=Projets_2016-2017&diff=35223
Projets 2016-2017
2017-04-02T22:36:44Z
<p>Clement.Rouquier: /* Projet Semestre S8 */</p>
<hr />
<div><<[[Projets 2015-2016]] | [[Projets]] | [[Projets 2017-2018]]>><br />
=RICM=<br />
==RICM3==<br />
<br />
==RICM4==<br />
===Projet Semestre S8===<br />
<br />
Enseignants responsables : Olivier Richard, Didier Donsez<br />
<br />
Dates : Lundi 9/01/2017 au 29/03/2017<br />
Lancement: 9/01/2017 après-midi<br />
<br />
'''Soutenances:'''<br />
* le 3/04/2017 matin et après-midi<br />
* '''[https://groupes.renater.fr/reunion/foodle/Soutenance-projet-RICM4-58d91 ordre de passage]'''<br />
<br />
* '''Evaluation à mi-parcours le lundi/mardi ???''': Format: 10min (5min de présentation 3 slides au plus, 5min de discussion). Cette évaluation sera prise en compte dans la note finale.<br />
<br />
'''Consignes générales:'''<br />
<br />
* '''Vous devez être pro-actifs !!!''': Si des points sont pas ou mals spécifiés, vous le faîtes et vous justifiez vos choix. Pour les problèmes techniques éventuels vous pouvez: creuser la question, contacter l'auteur du code si il y a lieu, écrire un rapport de bug ('''Attention:''' ca se prépare !), soumettre un patch/pull request, contacter l'enseignant ou la personne référente du projet.<br />
<br />
* '''Vous devez maintenir une fiche de suivi de projet''': elle doit être mise à jour chaque semaine, elle rassemble les élements essentiels du projet, elle <br />
indique les évolutions du projet et présente sa feuille de route. '''Note:''' le nom de la fiche doit être composé du nom du projet et suffixé par ricm4_2015_2016. '''Cette fiche compte pour la note finale'''<br />
<br />
* '''Vous devez utiliser un logiciel de gestion de version''' pour vos développements comme [http://en.wikipedia.org/wiki/Git_%28software%29 git ] et nous vous conseillons d'utiliser le site [https://github.com github] pour l'hébergement de votre dépôt public.<br />
<br />
* Les document public (exemple sur github) doivent être rédigés en anglais (README, documentation, commentaires de code, nom de variables et de fonctions). Une bonnification sera accordée si le rapport et les transparents sont en anglais (la soutenance sera en francais).<br />
<br />
{|class="wikitable alternance"<br />
|+ Affectation des projets RICM4 2016-2017<br />
|-<br />
|<br />
!scope="col"| Sujet<br />
!scope="col"| Etudiants<br />
!scope="col"| Enseignant(s)<br />
!scope="col"| Fiche de suivi<br />
!scope="col"| Dépot git<br />
|-<br />
<br />
!scope="row"| 1<br />
| [[Ruche connectée LoRa]] <br />
| MOREAU, LESAGE, <br />
| Palix, Richard<br />
| [[RICM4_2016_2017_-_Ruche_Connectee| Fiche]] - [[RICM4_2016_2017_-_Ruche_Connectee_/_SRS|SRS]] - [[Ruche_Connectee/UML | UML]]<br />
| [https://github.com/GwenaelMoreau/connectedhive github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides1.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:PresentationMiParcours_Ruche.pdf|Presentation]]<br />
|-<br />
<br />
<br />
!scope="row"| 2<br />
| [[Serres connectées]]<br />
| BOISADAM, DALLE<br />
| Palix<br />
| [[Projets-2016-2017-Serres_connectées| Fiche]] - [[Projet-2016-2017-Serres_connectées_-_SRS| SRS]]<br />
| [https://github.com/igreenhouse/endpoints/blob/master/README.md github]<br />
| [[Media:rapport-IGreenhouse2017.pdf|Rapport]] - [[Media:Presentation_-_mi-projet_-_serre-connectee-2017.pdf|Transparents]] - [[Media:Poster-IGreenhouse2017.pdf|Poster]] - [[Media:Flyer-SerresConnectees2017.pdf|Flyer]] - [[Media:presentation-IGreenhouse2017.pdf|Presentation finale]]<br />
|-<br />
<br />
!scope="row"| 3<br />
| [[I-Greenhouse]] : [[Serre connectée aquaponie]]<br />
| MARCHAND, PELLICER<br />
| Palix, Donsez<br />
| [[Projets-2016-2017-I-Greenhouse : Serre connectée aquaponie | Fiche]] - [[Projets-2015-2016-I-Greenhouse : Serre connectée aquaponie/UML_Diagrams | UML]] - [[Projets-2015-2016-I-Greenhouse : Serre connectée aquaponie/SRS | SRS]]<br />
| [https://github.com/igreenhouse Full github] - [https://github.com/stractus/I-Greenhouse-Aquaponie Project's github]<br />
| [[Media:rapport-IGreenhouse2017.pdf|Rapport]] - [[Media:presentationMiParcours_igreenhouse.pdf|Transparents]] - [[Media:Poster-IGreenhouse2017.pdf|Poster]] - [[Media:Flyer-IGreenhouse2017-aquaponie.pdf|Flyer]] - [[Media:IGrennhouseAquaponie.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 4<br />
| [[Station de pompage connectée]]<br />
| FERNANDES, CHEVALIER, FU <br />
| Palix, Donsez, Richard<br />
| [[Projets-2016-2017-Station de pompage connectée| Fiche]] - [[Projets-2016-2017-Station de pompage connectée - SRS| SRS]] - [[Projets-2016-2017-Station de pompage connectée - UML| UML]]<br />
| [https://github.com/GroupeProjetRICM4StationDePompage2017/ github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides.pdf|Transparents]] - [[Media:Flyer_station_de_pompage_connectee.pdf|Flyer]] - [[Media:rapport_station_de_pompage_connectee.pdf|Rapport]] - [[Media:presentation_station_de_pompage_connectee.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 5<br />
| Géolocation Indoor basée sur les [[Beacon]]s BLE <br />
| COCHINHO, GAMBRO<br />
| Donsez<br />
| [[Projets-2016-2017-IndoorGeoloc| Fiche]] - [[Projets-2016-2017-IndoorGeoloc-UML | UML]] - [[Proj-2016-2017-IndoorGeoloc/SRS|SRS]]<br />
| [https://github.com/LouisCochinho/Geoloc_Indoor github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides1.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:IndoorGeoloc-miparcours.pdf|Presentation mi-parcours]]<br />
|-<br />
<br />
!scope="row"| 6<br />
| [[Application de suivi de colis avec RFID UHF (EPC Global)]],<br />
| AMODRU-FAVIN, DELISE <br />
| Donsez<br />
| [[Projets-2016-2017-SuiviColisRFID| Fiche]] - [[Proj-2016-2017-ColisMatter/SRS|SRS]]<br />
| [https://github.com/delisea/ColisMatter github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides1.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 7<br />
| [[StartAIR 2017]]<br />
| ODIEVRE, CHAMBONNET<br />
| Palix<br />
| [[Projets-2016-2017-StartAir| Fiche]] - [[Projets-2016-2017-StartAir-UML| UML]] - [[Projets-2016-2017-StartAir-SRS| SRS]]<br />
| [https://github.com/s6mon/StartAir2017.git github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides1.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 8<br />
| [[SmartSelfService]] <br />
| ABONNENC, BONHOURE<br />
| Donsez<br />
| [[Projets-2016-2017-SmartSelfService| Fiche]] - [[Projets-2016-2017-SmartSelfService/SRS | SRS]] - [[Projets-2016-2017-SmartSelfService/UML | UML ]]<br />
| [https://github.com/RICM4SmartSelfService/RICM4_Projet_SmartSelfService github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:SmartSelfService_transparents.pdf|Transparents]] - [[Media:Flyer_Smart_Self_Service_2017.pdf|Flyer]] - [[Media:rapport_Smart_Self_Service_2017.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 9<br />
| [[Interface de contrôle "Photo" pour OpenHAB]]<br />
| LACHARTRE, SAVARY <br />
| Donsez<br />
| [[Projets-2016-2017 - Interface de contrôle "Photo" pour OpenHAB| Fiche]]- [[Projets-2016-2017 - Interface de contrôle "Photo" pour OpenHAB/SRS| SRS]]<br />
| [https://github.com/ArchibaldLeMagnifique/smarthome github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides1.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:Diapo Openhab(1).pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 10<br />
| [[UltraTeam|UltraTeam: Application Mobile pour les Ultra-trailers et les randonneurs]],<br />
| ROUQUIER, GEOURJON<br />
| Donsez<br />
| [[Projets-2016-2017-UltraTeamBest| Fiche]]- [[Projets-2016-2017-UltraTeamBest/SRS| SRS]]<br />
| [https://github.com/ultratrail github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:UltraTEAM_Presentation_Mi_Projet.pdf|Transparents]] - [[Media:UltraTEAM_GR_Poster.png|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 10<br />
| [[UltraTeam|UltraTeam: Application Mobile pour les Ultra-trailers et les randonneurs]],<br />
| GALLIER, FERRERA<br />
| Donsez<br />
| [[Projets-2016-2017-UltraTeam| Fiche]]- [[Projet-2016-2017-UltraTeam/SRS| SRS]] - [[Projet-2016-2017-UltraTeam/UML | UML ]]<br />
| [https://github.com/ultratrail github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:UltraTEAM_Presentation_Mi_Projet.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 11<br />
| [[Plateforme d'analyse de données IoT]] <br />
| ALLARD, ROCHER<br />
| Palix, Richard<br />
| [[Projets-2016-2017-Plateform_Analyse_Données_IOT| Fiche]] [[Projets-2016-2017-Plateform_Analyse_Données_IOT/SRS| SRS]] [[Projets-2016-2017-Plateform_Analyse_Données_IOT/UML| UML]]<br />
| [https://github.com/lambertrocher/Projets-2016-2017-Plateform-Analyse-Donn-es-IOT github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:Plateforme_IoT_presentation.pdf|Transparents]] - [[Media:Flyer_platform.pdf|Flyer]] - [[Media:RapportPlatform.pdf|Rapport]] - [[Media:presentation_Platform.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 13<br />
| [[IRock : Surveillance Géotechnique LoRa|iRock]]<br />
| SIEST, VEGREVILLE<br />
| Donsez<br />
| [[Projets-2016-2017-Projet_IRock| Fiche]]<br />
| [https://github.com/Shadsa/IRock github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides1.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 14<br />
| [[GrenobloisFuté]]<br />
| VIAL, GUERRY<br />
| Palix<br />
| [[Projets-2016-2017-GrenobloisFute| Fiche]]<br />
| [https://github.com/Gr05/Osmand github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides1.pdf|Transparents]] - [[Media:GrenobloisFuteFlyer.pptx|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 15<br />
| [[GeoDiff]]<br />
| AMAURIN, BECHER, BROCHIER<br />
| Palix<br />
| [[Projets-2016-2017-GeoDiff| Fiche]] - [[Projets-2016-2017-GeoDiff/SRS| SRS]] - [[Projets-2016-2017-GeoDiff/UML| UML]]<br />
| [https://github.com/Hbecher/GeoDiff github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides1.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:Geodiff-mini-soutenance.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 16<br />
| [[floatingimage UPnP feed]] <br />
| FUSTES, DEREYMEZ<br />
| Palix, Donsez<br />
| [[Projets-2016-2017-floatingimageUPnP | Fiche]] - [[Projets-2016-2017-floatingimageUPnP/SRS | SRS]] - [[Projets-2016-2017-floatingimageUPnP/UML | UML]]<br />
| [https://github.com/fustesr/floatingimage github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides1.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 17<br />
| Webconférence [[Google VR]]<br />
| RIVOAL, ZENNOUCHE <br />
| Donsez<br />
| [[Projets-2016-2017-VideoConference| Fiche]] - [[viseoconferenceUML| UML]]<br />
| [https://github.com/ github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides1.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:videoconference.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 18<br />
| [[NixOsTegraX1 | NixOS for Tegra X1]]<br />
| NASSIK, TURRIN<br />
| Richard<br />
| [[Projets-2016-2017-NixosTegraX1| Fiche]] - [[NixosTegraX1/SRS| SRS]]<br />
| [https://github.com/mesh33/nixpkgs github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:Nixos.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 20<br />
| [[ExperimentControl | Experiment Control]] <br />
| HOMBERG, LEMAIRE<br />
| Richard<br />
| [[Proj-2016-2017-ExperimentControl| Fiche]] - [[ExperimentControl/SRS| SRS]]<br />
| [https://github.com/TimotheeLemaire/Project_RICM4_2017 github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:Experiment Control.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 23<br />
| Intégration de caméras UPnP dans [[OpenHAB]] <br />
| BLANC, LAW<br />
| Donsez<br />
| [[Projets-2016-2017-UPnP Cameras integration into OpenHAB | Fiche]] - [[Projets-2016-2017-UPnP Cameras integration into OpenHAB/SRS | SRS]]<br />
| [https://github.com/lawchris/openhab2-addons/tree/upnp-camera-binding github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides1.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:UpnpCamera BLANC LAW.pdf|Presentation mi_parcours]]<br />
|-<br />
<br />
|}<br />
<br />
'''Propositions de projets:'''<br />
<br />
# [[Ruche connectée LoRa]] (OpenHab) , Didier Donsez, Denis Jongmann, Olivier Richard<br />
# [[Serres connectées]] (OpenHab) Surveillance des serres d'une exploitation agricole. Nicolas Palix, Michaël Périn et Vincent Hibon ("Les jardins du Coteau").<br />
# [[I-Greenhouse]] : [[Serre connectée aquaponie]] (OpenHab). Nicolas Palix, Didier Donsez (2 groupes)<br />
# [[Station de pompage connectée]]. Nicolas Palix<br />
# Géolocation Indoor basée sur les [[Beacon]]s BLE (iBeacon, AltBeacon, Eddystone). Utilisation d'algorithmes de trigonalisation ([https://github.com/jpias/beacon-pfilter-simulation/wiki lien]), (Didier Donsez, Vivien Quéma)<br />
# [[Application de suivi de colis avec RFID UHF (EPC Global)]], Didier Donsez<br />
# Projet [[StartAIR 2017]] : interface tablette de tableau de bord d'ULM, fiabilisation du réflecteur Flight Simulator (Fabrice Dubois, Nicolas Palix)<br />
# [[SmartSelfService]] (Didier Donsez, François Portet) en collaboration avec PHELMA.<br />
# [[Interface de contrôle "Photo"]] pour [[OpenHAB]] : éventuelle contribution à la fondation Eclipse (Didier Donsez)<br />
# [[UltraTeam|UltraTeam: Application Mobile pour les Ultra-trailers et les randonneurs]] (Didier Donsez, Vivien Quéma)<br />
# [[Plateforme d'analyse de données IoT]] (Nicolas Palix)<br />
# Extension de [[Swagger]] pour [[CoAP]] : Application avec [[Californium]] (Contribution à une communauté open-source), (Didier Donsez)<br />
# [[IRock : Surveillance Géotechnique LoRa|iRock]]: Plateforme Ubilitics pour la surveillance des risques naturelles (déploiement grande échelle de capteurs [[LoRa]] sur le terrain pour l'observation de glissement de terrain) en commun avec Geotech (à confirmer) : Didier Donsez, Sandrine Caroly, Denis Jongmans.<br />
# [[GrenobloisFuté]] Couche trafic sur OsmAnd avec un greffon. Données dynamique de la métro. Dvp Android. Nicolas Palix.<br />
# [[GeoDiff]] Production, visualisation, fusion de variations (diff) sur de l'information géocodée : Nicolas Palix (Multimédia)<br />
# [[floatingimage UPnP feed]] Cadre photos connecté à Kodi. Dvp Android. Nicolas Palix, Didier Donsez<br />
# Webconférence WebRTC stereoscopique avec [[Google VR]] SDK for Android (Jérôme Maisonnasse, Didier Donsez)<br />
# [[NixOsTegraX1 | NixOS for Tegra X1]]: (Olivier Richard)<br />
# [[LittleJump | Little Jump]]: Inventer un blablacar pour les petits trajets (Olivier Richard)<br />
# [[ExperimentControl | Experiment Control]] Développer un moteur de conduite d'expérience pour les systèmes distribués (Olivier Richard) <br />
# [[CrystalLanguageMicrocontroller | Crystal Language for Microcontroller]] (Olivier Richard)<br />
# Questionnaires automatiques, (Pierre Gillois, Didier Donsez)<br />
# Intégration de caméras UPnP dans [[OpenHAB]] (Didier Donsez)<br />
Moins prioritaires:<br />
# [[OwnPOI]] ownCloud plugin and osmand plugin to share POI and favorite positions. Dvp Android. Nicolas Palix.<br />
# [[OwnList]] ownCloud plugin and Android app to share a TODO list. Nicolas Palix.<br />
# [[Osmand-Auto]] Support Android Auto sur [[OsmAnd]] Nicolas Palix,<br />
# [[OCR de composition d'étiquettes alimentaires pour la base Open Food Facts]] (Nicolas Palix, Didier Donsez)<br />
Sous réserve de matériel<br />
# Reconstruction 3D d'images thermiques provenant des réseaux de caméras thermiques [[Flir One]] : application au sport connecté(Didier DONSEZ)<br />
# Géolocation Indoor basée sur [[Decaware]]. Utilisation d'algorithmes de trigonalisation ([https://github.com/jpias/beacon-pfilter-simulation/wiki lien]), (Didier Donsez, Vivien Quéma)<br />
<br />
==RICM5==<br />
===Projet Semestre S10===<br />
<br />
Enseignants responsables : Didier Donsez<br />
<br />
====Calendrier====<br />
<br />
le projet commence le 23/01 et se termine le 17/03.<br />
<br />
Réunion de présentation : 23/01 à 8H00 (RdV Salle AIR).<br />
<br />
Soutenance à mi-parcours : Date: Vendredi 17/02 de 08:00-11:00 (Salle P257)<br />
<br />
Soutenance (puis Pot de la fin): A DEFINIR (Provisoirement le 16/03 après-midi)<br />
<br />
====Projet====<br />
<br />
<br />
<br />
{|class="wikitable alternance"<br />
|+ Affectation des projets RICM5 2016-2017<br />
|-<br />
|<br />
!scope="col"| Sujet<br />
!scope="col"| Etudiants<br />
!scope="col"| Enseignant(s)<br />
!scope="col"| Fiche de suivi<br />
!scope="col"| Dépot git<br />
!scope="col"| Supports<br />
|-<br />
<br />
!scope="row"| 1<br />
| [[RealTimeSubtitle - 2016/17 - RICM5| Sous-titre d'un cours en temps réel]] <br />
| BRUEL, BUI, LECHEVALLIER, MATHIEU, MOURET, <br />
| Laurent Besacier, Didier Donsez, Marie-Paule Balicco, Jérôme Maisonnasse<br />
| [[RealTimeSubtitle - 2016/17 - RICM5| Fiche]] - [[RICM5_2016_2017_-_RealTimeSubtitle/SRS|SRS]]<br />
| [https://gitlab.com/annaBanana/RealTimeSubtitles gitlab]<br />
| [[Media:slideRealTimeSubtitle2017s.pdf|Présentation intermédiare]] - [[Media:presentationRealTimeSubtitle2017.pdf|Presentation finale]] - [https://35.157.107.127| site web]<br />
|-<br />
<br />
!scope="row"| 2<br />
| [[Réalité virtuelle et Augmentée pour la maintenance d'usines]] <br />
| BERTRAND-DALECHAMPS, POPEK, ZAHO, SUN, NDIAYE, HAMMOUTI, <br />
| Didier Donsez, Georges-Pierre Bonneau<br />
| [[RVA_Fiche_de_suivi | Fiche de suivi]] - [[SRS_Realite_Virtuelle|SRS]]<br />
| [https://github.com/ github]<br />
| [[Media:RVA_PresentationConception.pdf|Presentation intermédiaire]] - [[Media:RVA_PresentationFinale.pdf|Presentation Finale]] - [[Media:RVA_DocUtilisateur.pdf|Documentation Utilisateur]] - [[Media:DevAR.pdf|Documentation Développeur]] - [[RVA_PageVideo|Videos]]<br />
|-<br />
<br />
!scope="row"| 3<br />
| [[CoCass|CoCaas : CaaS Docker collaboratif]] <br />
| ARRADA, FAURE, FOUNAS, HALLAL, MEDEWOU, VOUTAT, <br />
| Didier Donsez<br />
| [[Fiche de suivi - CoCaas|Fiche]] - [[SRS-CoCaas|SRS]]<br />
| [https://github.com/CoCaas/ github]<br />
| [[Media:MPI_CoCaas.pdf|Rapport MPI]] - [https://docs.google.com/presentation/d/10nwRHcUiLSjD7otbTfsswkDlIWpb3ddvc19HUSlrKvg/edit?usp=sharing Presentation intermédiaire] - [[Media:Test.pdf|Presentation finale]]<br />
|-<br />
<br />
<br />
!scope="row"| 4<br />
| [[Projet 2017 : Gestionnaire de packages Polytech| Gestion des images systèmes pour les supports à Polytech Grenoble]] <br />
| GATTAZ, LECORPS, NOUGUIER, RAMEL, <br />
| Didier Donsez<br />
| [[Fiche de suivi - Gestionnaire de packages| Fiche]] - [[SRS - Gestionnaire de packages|SRS]]<br />
| [https://github.com/Packebian github]<br />
| [[Media:PackagesPresentationConception.pdf|Presentation intermédiaire]] - [[Media:PackagesPresentationFinale2.pdf| Présentation finale]]<br />
|-<br />
<br />
<br />
!scope="row"| 5<br />
| [[Suggestion_intelligente_de_films_basée_sur_TensorFlow | Suggestion intelligente de films basée sur TensorFlow]] <br />
| DUNAND, HATTINGUAIS, NAVARRO, NIOGRET, RACHEX, <br />
| Didier Donsez<br />
| [[Fiche_de_suivi_-_Recommandation_intelligente_de_films| Fiche]] - [[SRS_-_Recommandation_intelligente_de_films|SRS]]<br />
| [https://github.com/DeepLearningMoviesProject github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:presentation.pdf|Presentation intermédiaire]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 6<br />
| [[Projet Startup]] <br />
| LUCIDARME, DELAPORTE, <br />
| Didier Donsez<br />
| [[RICM5_2016_2017_-_Startup| Fiche]] - [[RICM5_2016_2017_-_Startup/SRS|SRS]]<br />
| [https://github.com/ github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation intermédiaire]] - [[Media:presentation.pdf|Presentation]] - Video - Photos<br />
|-<br />
<br />
<br />
!scope="row"| 7<br />
| [[Contributions à RIOT OS]] autour de [[LoRa]] <br />
| Taquyeddine ZEGAOUI, <br />
| Didier Donsez<br />
| [[RICM5_2016_2017_-_RIOTOSLoRa| Fiche]] - [[RICM5_2016_2017_-_RIOTOSLoRa/SRS|SRS]]<br />
| [https://github.com/ github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation intermédiaire]] - [[Media:presentation.pdf|Presentation]] - Video - Photos<br />
|-<br />
<br />
|}<br />
<br />
<br />
Projets non choisi:<br />
# Borne d'accueil handicap : Didier Donsez, Marie-Paule Balicco, Jérôme Maisonnasse<br />
# [[Plateforme IoT du LIG basé sur Walt]] : Bernard Tourancheau, Franck Rousseau, Etienne Dublé<br />
<br />
====Soutenance à mi-parcours====<br />
Date: Vendredi 17/02 de 08:00-11:00 (Salle P257)<br />
# 08H00-08H25: [[RealTimeSubtitle - 2016/17 - RICM5| Sous-titre d'un cours en temps réel]]<br />
# 08H25-08H50: [[Réalité virtuelle et Augmentée pour la maintenance d'usines]] (avec [[Unity 3D]] et [[Google VR]] SDK for Android, caméra Flir One, [[WebRTC]])<br />
# 08H50-09H15: [[CoCass|CoCass : CaaS Docker collaboratif]] : Didier Donsez (ARRADA, FAURE, FOUNAS, HALLAL, MEDEWOU, VOUTAT)<br />
# 09H15-09H40: [[Projet 2017 : Gestionnaire de packages Polytech| Gestion des images systèmes pour les supports à Polytech Grenoble]]<br />
# 09H40-10H05: [[Suggestion_intelligente_de_films_basée_sur_TensorFlow | Suggestion intelligente de films basée sur TensorFlow]]<br />
# 10H05-10H30: Projet Startup<br />
# 10H30-11H00:[[Contributions à RIOT OS]] autour de [[LoRa]]<br />
<br />
Instructions:<br />
* 10 minutes de présentation + démonstration.<br />
* 10 minutes de questions<br />
<br />
(7 transparents maximum pour résumer l'organisation et l'avancement du projet)<br />
<br />
====Soutenance (puis Pot de la fin)====<br />
Le 16/03 en P129 le matin et P007 l'après-midi<br />
<br />
* 10:00-10:40 [[Projet Startup]]<br />
* 10:45-11:25 [[Projet 2017 : Gestionnaire de packages Polytech| Gestion des images systèmes pour les supports à Polytech Grenoble]]<br />
* 13:00-13:40 [[RealTimeSubtitle - 2016/17 - RICM5| Sous-titre d'un cours en temps réel]]<br />
* 13:45-14:25 [[Réalité virtuelle et Augmentée pour la maintenance d'usines]]<br />
* 14:30-15:10 [[CoCass|CoCass : CaaS Docker collaboratif]]<br />
* 15:15-15:55 [[Suggestion_intelligente_de_films_basée_sur_TensorFlow | Suggestion intelligente de films basée sur TensorFlow]] <br />
* 16:00-16:30 [[Contributions à RIOT OS]] autour de [[LoRa]] <br />
<br />
* Pot d' "Au Revoir" (16:45-18:30 à la Kfet de Polytech)<br />
<br />
Instructions:<br />
*Chaque soutenance comporte 15 minutes de présentation, 15 minutes de démonstration et 10 minutes de questions. Un transparent doit être consacré au travail confié et réalisé par les étudiants en DUT (AVOSTI).<br />
* Répétez plusieurs fois votre présentation et votre démonstration.<br />
* L'ensemble des documents (y compris photos, vidéos et ''[[Logiciels#Screencast|screencast]]s'') doivent être accessibles depuis le tableau ci-dessous et dans chaque fiche de suivi. Prévoyez une copie sur clé USB.<br />
* Les étudiants de DUT vous accompagnent lors de votre soutenance.<br />
* '''TOUT Le matériel prêté devra être rapporté et restitué dans un sac cabas lors de la soutenance.'''<br />
<br />
====Séances Suivi:====<br />
* Lundi 30/01 - 08:00-11:00<br />
* Mardi 31/01 - 10:00-12:00<br />
* Lundi 06/02 - 08:00-10:00<br />
* Lundi 13/02 - 08:00-10:00<br />
* Lundi 27/02 - 08:00-10:00<br />
* Lundi 06/03 - 08:00-10:00<br />
* Lundi 13/03 - 08:00-09:45<br />
<br />
====Séances MPI:====<br />
* Jeudi 26 janvier matin (Stéphanie Diligent)<br />
* Jeudi 2 février matin (Stéphanie Diligent)<br />
* Lundi 6 février matin (Emmanuelle Tréhoust)<br />
* Mardi 14 février matin (Emmanuelle Tréhoust)<br />
* Lundi 6 mars après midi (Stéphanie Diligent et Emmanuelle Tréhoust)<br />
<br />
<br />
====Bonus track====<br />
Remarque: [http://snowcamp.io/2017/fr/welcome Netbeans Days 2017], 7 Février 2017, Bâtiment IMAG. Pensez à vous inscrire!<br />
<br />
Remarque: [https://wiki.eclipse.org/Eclipse_IoT_Day_Grenoble_2017 Eclipse IoT Days 2017], 9-10 Mars 2017, Bâtiment IMAG. Pensez à vous inscrire!<br />
<br />
=Année à définir=<br />
<br />
* [[Non linear MKV Editor]] : Nicolas Palix<br />
* [[Smart campus augmenté et contributif]]<br />
* [[Intégration OpenHAB / OpenTele]]<br />
* [[Client MQTT pour OBD]] sur Android<br />
* [[Sommeilomètre]] (Michael Perin, Didier Donsez)<br />
* [[Open DynDNS]]<br />
* [[IllumiRoom]]<br />
* [[Emergency mobile app]] Dvp Android. Nicolas Palix pour TIS, PRI et RICM<br />
* [[Kodi Reflexive Remote]] Dynamic remote control for Kodi. Nicolas Palix.<br />
* [http://intgat.tigress.co.uk/rmy/uml/index.html Zerofree] Portage de zerofree pour d'autres systèmes de fichiers que ext2/3/4 (notamment Unix FS). Voir également la page [http://packages.qa.debian.org/z/zerofree.html QA de Debian]. Nicolas Palix.<br />
* [[Bracelet électronique de monitoriing de l'alcoolémie]]<br />
* [[Oxymètre DIY]]<br />
* [[PinSound]]<br />
* [[Extension du support STM32Fx-Discovery dans libopencm3]] : Olivier Richard<br />
* [[Arduino et libopencm3]] : Olivier Richard<br />
* [[Data Acquisition System et Stm32f4-Discovery]] : Olivier Richard<br />
* [[Distributed Data Storage System]] : Olivier Richard<br />
* [[Dashboard based on w2ui]]<br />
* [[Environnement logiciel pour FabLab]] : Olivier Richard<br />
* [[Environnement logiciel pour le Live Programming]] : Olivier Richard<br />
* [[VirtualPinball]]<br />
* Tondeuse dessinatrice<br />
* [[ImmersiveDog]] Nicolas Glade, Didier Donsez<br />
* Projet avec [[OpenROV]] ???? : Didier Donsez<br />
* [[Sphero]] malin (Michael Périn) (2 etudiants)<br />
* [[Drone paramoteur]] ???<br />
* [[Optimisation de l'énergie pour cyclotouriste électrique]]<br />
* [[SmartSelfService|Smart Self-Service 2015]] Didier Donsez & Vivien Quema<br />
* [[Station Météo LoRa]] : contribution au projet [[LoRA-Fabian]] (Didier Donsez)<br />
<br />
=Réserve (boite à idées)=<br />
<br />
# [[Tag et Paint Ball en réalité augmentée]] (Michaël Périn) <br />
# [[Passe moi ton fichier]] (Michaël Périn) <br />
# [[Extensions à Fab Server]] (Jean-Michel Molenaar) sous reserve (CM ou SR)<br />
# [[Table multijeux de café 2.0]]<br />
# [[ GPIO_Qemu_RasPI| Emulation des GPIO dans QEMU pour le carte Raspberry Pi]] (Olivier Richard)<br />
# [[ Qemu et STM32F0-Discovery ]] (Olivier Richard)<br />
# [[Serrure à clé MIDI multifactorielle]] (Didier Donsez)<br />
# [[Table interactive musicale]] (Didier Donsez)<br />
# [[iMailbox]] (Didier Donsez)<br />
# [[AmILight]] (eclairage d'ambience intelligent) (Didier Donsez)<br />
# [[PDAmeetPDA]] (synchronisation d'agenda) (Michaël Périn)<br />
# [[1 000 000 VMs]] (expérimentation d'application distribuée à très grande échelle) (Olivier Richard) (2-3 RICM4)<br />
# [[Multiple Kinect]] (utilisation simultanée de plusieurs Kinect) (Olivier Richard) (RICM ou 3I)<br />
# [[Kinect musicale]] (Didier Donsez) (RICM)<br />
# [[Ktechlab Simavr Arduino | Ktechlab et integration de Simavr(Arduino)]] (Olivier Richard) (2-3 RICM4-SR)<br />
# Ocaml on AVR (Arduino)<br />
# Ocaml on Cortex-M3<br />
# [[Arduino on STM32 Discovery]]<br />
# [[Reverse Geocache Puzzle Box]]<br />
# [[OSGi ME]] (Didier Donsez)<br />
# [[Affichage Etudiant à Polytech]]<br />
# Synthèse 3D + motion capture Kinect<br />
# Logiciel d'[[apprentissage du calcul]] sur tablette Android (reconnaissance de chiffres manuscrits)<br />
# Plancher de verre (saint gobain) à la [http://www.wat.tv/video/mickael-jackson-billie-jean-oewj_2ey2h_.html Mickael Jackson dans Billie Jean] ! woo<br />
# [[Ktechlab Simavr Arduino | Ktechlab et integration de Simavr(Arduino)]] (Olivier Richard) (2-3 RICM4-SR)<br />
# [[CNC]]<br />
# [[Idées en Vrac]]<br />
# Scheme Everywhere (Olivier Richard) (2-3 RICM4-SR)<br />
# [[Projet Station Météo]]<br />
# Ocaml on AVR (Arduino)<br />
# [[Table interactive musicale]] (Didier Donsez)<br />
# [[AmILight]] (eclairage d'amnbience intelligent) (Didier Donsez)<br />
# [[Cube pointeur]] d'activité ingénieur<br />
# [http://www.instructables.com/id/Puppeteer-Motion-Capture-Costume/ Puppeteer Motion-Capture Costume]<br />
# [[Musical Staircase]] @ Polytech (Didier Donsez, 1 RICM4 + 1 3I4)<br />
# [[Total Recall]] (Didier Donsez)<br />
# [[SoundMachine]]<br />
# [[IGN-OSM|Importation de données IGN publiques dans OSM]]<br />
# [[Speed-limit-OSM|Analyse de traces GPX pour déterminer les limitations de vitesse]]<br />
# [[Multi perceptual cameras]] (Didier Donsez)<br />
# [[Photomaton 3D]] (Didier Donsez)<br />
# [[ArduCopter]]<br />
# [[Parking Intelligent]]</div>
Clement.Rouquier
https://air.imag.fr/index.php?title=Projets_2016-2017&diff=35221
Projets 2016-2017
2017-04-02T22:35:40Z
<p>Clement.Rouquier: /* Projet Semestre S8 */</p>
<hr />
<div><<[[Projets 2015-2016]] | [[Projets]] | [[Projets 2017-2018]]>><br />
=RICM=<br />
==RICM3==<br />
<br />
==RICM4==<br />
===Projet Semestre S8===<br />
<br />
Enseignants responsables : Olivier Richard, Didier Donsez<br />
<br />
Dates : Lundi 9/01/2017 au 29/03/2017<br />
Lancement: 9/01/2017 après-midi<br />
<br />
'''Soutenances:'''<br />
* le 3/04/2017 matin et après-midi<br />
* '''[https://groupes.renater.fr/reunion/foodle/Soutenance-projet-RICM4-58d91 ordre de passage]'''<br />
<br />
* '''Evaluation à mi-parcours le lundi/mardi ???''': Format: 10min (5min de présentation 3 slides au plus, 5min de discussion). Cette évaluation sera prise en compte dans la note finale.<br />
<br />
'''Consignes générales:'''<br />
<br />
* '''Vous devez être pro-actifs !!!''': Si des points sont pas ou mals spécifiés, vous le faîtes et vous justifiez vos choix. Pour les problèmes techniques éventuels vous pouvez: creuser la question, contacter l'auteur du code si il y a lieu, écrire un rapport de bug ('''Attention:''' ca se prépare !), soumettre un patch/pull request, contacter l'enseignant ou la personne référente du projet.<br />
<br />
* '''Vous devez maintenir une fiche de suivi de projet''': elle doit être mise à jour chaque semaine, elle rassemble les élements essentiels du projet, elle <br />
indique les évolutions du projet et présente sa feuille de route. '''Note:''' le nom de la fiche doit être composé du nom du projet et suffixé par ricm4_2015_2016. '''Cette fiche compte pour la note finale'''<br />
<br />
* '''Vous devez utiliser un logiciel de gestion de version''' pour vos développements comme [http://en.wikipedia.org/wiki/Git_%28software%29 git ] et nous vous conseillons d'utiliser le site [https://github.com github] pour l'hébergement de votre dépôt public.<br />
<br />
* Les document public (exemple sur github) doivent être rédigés en anglais (README, documentation, commentaires de code, nom de variables et de fonctions). Une bonnification sera accordée si le rapport et les transparents sont en anglais (la soutenance sera en francais).<br />
<br />
{|class="wikitable alternance"<br />
|+ Affectation des projets RICM4 2016-2017<br />
|-<br />
|<br />
!scope="col"| Sujet<br />
!scope="col"| Etudiants<br />
!scope="col"| Enseignant(s)<br />
!scope="col"| Fiche de suivi<br />
!scope="col"| Dépot git<br />
|-<br />
<br />
!scope="row"| 1<br />
| [[Ruche connectée LoRa]] <br />
| MOREAU, LESAGE, <br />
| Palix, Richard<br />
| [[RICM4_2016_2017_-_Ruche_Connectee| Fiche]] - [[RICM4_2016_2017_-_Ruche_Connectee_/_SRS|SRS]] - [[Ruche_Connectee/UML | UML]]<br />
| [https://github.com/GwenaelMoreau/connectedhive github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides1.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:PresentationMiParcours_Ruche.pdf|Presentation]]<br />
|-<br />
<br />
<br />
!scope="row"| 2<br />
| [[Serres connectées]]<br />
| BOISADAM, DALLE<br />
| Palix<br />
| [[Projets-2016-2017-Serres_connectées| Fiche]] - [[Projet-2016-2017-Serres_connectées_-_SRS| SRS]]<br />
| [https://github.com/igreenhouse/endpoints/blob/master/README.md github]<br />
| [[Media:rapport-IGreenhouse2017.pdf|Rapport]] - [[Media:Presentation_-_mi-projet_-_serre-connectee-2017.pdf|Transparents]] - [[Media:Poster-IGreenhouse2017.pdf|Poster]] - [[Media:Flyer-SerresConnectees2017.pdf|Flyer]] - [[Media:presentation-IGreenhouse2017.pdf|Presentation finale]]<br />
|-<br />
<br />
!scope="row"| 3<br />
| [[I-Greenhouse]] : [[Serre connectée aquaponie]]<br />
| MARCHAND, PELLICER<br />
| Palix, Donsez<br />
| [[Projets-2016-2017-I-Greenhouse : Serre connectée aquaponie | Fiche]] - [[Projets-2015-2016-I-Greenhouse : Serre connectée aquaponie/UML_Diagrams | UML]] - [[Projets-2015-2016-I-Greenhouse : Serre connectée aquaponie/SRS | SRS]]<br />
| [https://github.com/igreenhouse Full github] - [https://github.com/stractus/I-Greenhouse-Aquaponie Project's github]<br />
| [[Media:rapport-IGreenhouse2017.pdf|Rapport]] - [[Media:presentationMiParcours_igreenhouse.pdf|Transparents]] - [[Media:Poster-IGreenhouse2017.pdf|Poster]] - [[Media:Flyer-IGreenhouse2017-aquaponie.pdf|Flyer]] - [[Media:IGrennhouseAquaponie.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 4<br />
| [[Station de pompage connectée]]<br />
| FERNANDES, CHEVALIER, FU <br />
| Palix, Donsez, Richard<br />
| [[Projets-2016-2017-Station de pompage connectée| Fiche]] - [[Projets-2016-2017-Station de pompage connectée - SRS| SRS]] - [[Projets-2016-2017-Station de pompage connectée - UML| UML]]<br />
| [https://github.com/GroupeProjetRICM4StationDePompage2017/ github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides.pdf|Transparents]] - [[Media:Flyer_station_de_pompage_connectee.pdf|Flyer]] - [[Media:rapport_station_de_pompage_connectee.pdf|Rapport]] - [[Media:presentation_station_de_pompage_connectee.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 5<br />
| Géolocation Indoor basée sur les [[Beacon]]s BLE <br />
| COCHINHO, GAMBRO<br />
| Donsez<br />
| [[Projets-2016-2017-IndoorGeoloc| Fiche]] - [[Projets-2016-2017-IndoorGeoloc-UML | UML]] - [[Proj-2016-2017-IndoorGeoloc/SRS|SRS]]<br />
| [https://github.com/LouisCochinho/Geoloc_Indoor github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides1.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:IndoorGeoloc-miparcours.pdf|Presentation mi-parcours]]<br />
|-<br />
<br />
!scope="row"| 6<br />
| [[Application de suivi de colis avec RFID UHF (EPC Global)]],<br />
| AMODRU-FAVIN, DELISE <br />
| Donsez<br />
| [[Projets-2016-2017-SuiviColisRFID| Fiche]] - [[Proj-2016-2017-ColisMatter/SRS|SRS]]<br />
| [https://github.com/delisea/ColisMatter github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides1.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 7<br />
| [[StartAIR 2017]]<br />
| ODIEVRE, CHAMBONNET<br />
| Palix<br />
| [[Projets-2016-2017-StartAir| Fiche]] - [[Projets-2016-2017-StartAir-UML| UML]] - [[Projets-2016-2017-StartAir-SRS| SRS]]<br />
| [https://github.com/s6mon/StartAir2017.git github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides1.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 8<br />
| [[SmartSelfService]] <br />
| ABONNENC, BONHOURE<br />
| Donsez<br />
| [[Projets-2016-2017-SmartSelfService| Fiche]] - [[Projets-2016-2017-SmartSelfService/SRS | SRS]] - [[Projets-2016-2017-SmartSelfService/UML | UML ]]<br />
| [https://github.com/RICM4SmartSelfService/RICM4_Projet_SmartSelfService github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:SmartSelfService_transparents.pdf|Transparents]] - [[Media:Flyer_Smart_Self_Service_2017.pdf|Flyer]] - [[Media:rapport_Smart_Self_Service_2017.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 9<br />
| [[Interface de contrôle "Photo" pour OpenHAB]]<br />
| LACHARTRE, SAVARY <br />
| Donsez<br />
| [[Projets-2016-2017 - Interface de contrôle "Photo" pour OpenHAB| Fiche]]- [[Projets-2016-2017 - Interface de contrôle "Photo" pour OpenHAB/SRS| SRS]]<br />
| [https://github.com/ArchibaldLeMagnifique/smarthome github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides1.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:Diapo Openhab(1).pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 10<br />
| [[UltraTeam|UltraTeam: Application Mobile pour les Ultra-trailers et les randonneurs]],<br />
| ROUQUIER, GEOURJON<br />
| Donsez<br />
| [[Projets-2016-2017-UltraTeamBest| Fiche]]- [[Projets-2016-2017-UltraTeamBest/SRS| SRS]]<br />
| [https://github.com/ultratrail github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:UltraTEAM_Presentation_Mi_Projet.pdf|Transparents]] - [[Media:[[File:UltraTEAM_GR_Poster.png|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 10<br />
| [[UltraTeam|UltraTeam: Application Mobile pour les Ultra-trailers et les randonneurs]],<br />
| GALLIER, FERRERA<br />
| Donsez<br />
| [[Projets-2016-2017-UltraTeam| Fiche]]- [[Projet-2016-2017-UltraTeam/SRS| SRS]] - [[Projet-2016-2017-UltraTeam/UML | UML ]]<br />
| [https://github.com/ultratrail github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:UltraTEAM_Presentation_Mi_Projet.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 11<br />
| [[Plateforme d'analyse de données IoT]] <br />
| ALLARD, ROCHER<br />
| Palix, Richard<br />
| [[Projets-2016-2017-Plateform_Analyse_Données_IOT| Fiche]] [[Projets-2016-2017-Plateform_Analyse_Données_IOT/SRS| SRS]] [[Projets-2016-2017-Plateform_Analyse_Données_IOT/UML| UML]]<br />
| [https://github.com/lambertrocher/Projets-2016-2017-Plateform-Analyse-Donn-es-IOT github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:Plateforme_IoT_presentation.pdf|Transparents]] - [[Media:Flyer_platform.pdf|Flyer]] - [[Media:RapportPlatform.pdf|Rapport]] - [[Media:presentation_Platform.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 13<br />
| [[IRock : Surveillance Géotechnique LoRa|iRock]]<br />
| SIEST, VEGREVILLE<br />
| Donsez<br />
| [[Projets-2016-2017-Projet_IRock| Fiche]]<br />
| [https://github.com/Shadsa/IRock github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides1.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 14<br />
| [[GrenobloisFuté]]<br />
| VIAL, GUERRY<br />
| Palix<br />
| [[Projets-2016-2017-GrenobloisFute| Fiche]]<br />
| [https://github.com/Gr05/Osmand github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides1.pdf|Transparents]] - [[Media:GrenobloisFuteFlyer.pptx|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 15<br />
| [[GeoDiff]]<br />
| AMAURIN, BECHER, BROCHIER<br />
| Palix<br />
| [[Projets-2016-2017-GeoDiff| Fiche]] - [[Projets-2016-2017-GeoDiff/SRS| SRS]] - [[Projets-2016-2017-GeoDiff/UML| UML]]<br />
| [https://github.com/Hbecher/GeoDiff github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides1.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:Geodiff-mini-soutenance.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 16<br />
| [[floatingimage UPnP feed]] <br />
| FUSTES, DEREYMEZ<br />
| Palix, Donsez<br />
| [[Projets-2016-2017-floatingimageUPnP | Fiche]] - [[Projets-2016-2017-floatingimageUPnP/SRS | SRS]] - [[Projets-2016-2017-floatingimageUPnP/UML | UML]]<br />
| [https://github.com/fustesr/floatingimage github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides1.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 17<br />
| Webconférence [[Google VR]]<br />
| RIVOAL, ZENNOUCHE <br />
| Donsez<br />
| [[Projets-2016-2017-VideoConference| Fiche]] - [[viseoconferenceUML| UML]]<br />
| [https://github.com/ github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides1.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:videoconference.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 18<br />
| [[NixOsTegraX1 | NixOS for Tegra X1]]<br />
| NASSIK, TURRIN<br />
| Richard<br />
| [[Projets-2016-2017-NixosTegraX1| Fiche]] - [[NixosTegraX1/SRS| SRS]]<br />
| [https://github.com/mesh33/nixpkgs github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:Nixos.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 20<br />
| [[ExperimentControl | Experiment Control]] <br />
| HOMBERG, LEMAIRE<br />
| Richard<br />
| [[Proj-2016-2017-ExperimentControl| Fiche]] - [[ExperimentControl/SRS| SRS]]<br />
| [https://github.com/TimotheeLemaire/Project_RICM4_2017 github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:Experiment Control.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 23<br />
| Intégration de caméras UPnP dans [[OpenHAB]] <br />
| BLANC, LAW<br />
| Donsez<br />
| [[Projets-2016-2017-UPnP Cameras integration into OpenHAB | Fiche]] - [[Projets-2016-2017-UPnP Cameras integration into OpenHAB/SRS | SRS]]<br />
| [https://github.com/lawchris/openhab2-addons/tree/upnp-camera-binding github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides1.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:UpnpCamera BLANC LAW.pdf|Presentation mi_parcours]]<br />
|-<br />
<br />
|}<br />
<br />
'''Propositions de projets:'''<br />
<br />
# [[Ruche connectée LoRa]] (OpenHab) , Didier Donsez, Denis Jongmann, Olivier Richard<br />
# [[Serres connectées]] (OpenHab) Surveillance des serres d'une exploitation agricole. Nicolas Palix, Michaël Périn et Vincent Hibon ("Les jardins du Coteau").<br />
# [[I-Greenhouse]] : [[Serre connectée aquaponie]] (OpenHab). Nicolas Palix, Didier Donsez (2 groupes)<br />
# [[Station de pompage connectée]]. Nicolas Palix<br />
# Géolocation Indoor basée sur les [[Beacon]]s BLE (iBeacon, AltBeacon, Eddystone). Utilisation d'algorithmes de trigonalisation ([https://github.com/jpias/beacon-pfilter-simulation/wiki lien]), (Didier Donsez, Vivien Quéma)<br />
# [[Application de suivi de colis avec RFID UHF (EPC Global)]], Didier Donsez<br />
# Projet [[StartAIR 2017]] : interface tablette de tableau de bord d'ULM, fiabilisation du réflecteur Flight Simulator (Fabrice Dubois, Nicolas Palix)<br />
# [[SmartSelfService]] (Didier Donsez, François Portet) en collaboration avec PHELMA.<br />
# [[Interface de contrôle "Photo"]] pour [[OpenHAB]] : éventuelle contribution à la fondation Eclipse (Didier Donsez)<br />
# [[UltraTeam|UltraTeam: Application Mobile pour les Ultra-trailers et les randonneurs]] (Didier Donsez, Vivien Quéma)<br />
# [[Plateforme d'analyse de données IoT]] (Nicolas Palix)<br />
# Extension de [[Swagger]] pour [[CoAP]] : Application avec [[Californium]] (Contribution à une communauté open-source), (Didier Donsez)<br />
# [[IRock : Surveillance Géotechnique LoRa|iRock]]: Plateforme Ubilitics pour la surveillance des risques naturelles (déploiement grande échelle de capteurs [[LoRa]] sur le terrain pour l'observation de glissement de terrain) en commun avec Geotech (à confirmer) : Didier Donsez, Sandrine Caroly, Denis Jongmans.<br />
# [[GrenobloisFuté]] Couche trafic sur OsmAnd avec un greffon. Données dynamique de la métro. Dvp Android. Nicolas Palix.<br />
# [[GeoDiff]] Production, visualisation, fusion de variations (diff) sur de l'information géocodée : Nicolas Palix (Multimédia)<br />
# [[floatingimage UPnP feed]] Cadre photos connecté à Kodi. Dvp Android. Nicolas Palix, Didier Donsez<br />
# Webconférence WebRTC stereoscopique avec [[Google VR]] SDK for Android (Jérôme Maisonnasse, Didier Donsez)<br />
# [[NixOsTegraX1 | NixOS for Tegra X1]]: (Olivier Richard)<br />
# [[LittleJump | Little Jump]]: Inventer un blablacar pour les petits trajets (Olivier Richard)<br />
# [[ExperimentControl | Experiment Control]] Développer un moteur de conduite d'expérience pour les systèmes distribués (Olivier Richard) <br />
# [[CrystalLanguageMicrocontroller | Crystal Language for Microcontroller]] (Olivier Richard)<br />
# Questionnaires automatiques, (Pierre Gillois, Didier Donsez)<br />
# Intégration de caméras UPnP dans [[OpenHAB]] (Didier Donsez)<br />
Moins prioritaires:<br />
# [[OwnPOI]] ownCloud plugin and osmand plugin to share POI and favorite positions. Dvp Android. Nicolas Palix.<br />
# [[OwnList]] ownCloud plugin and Android app to share a TODO list. Nicolas Palix.<br />
# [[Osmand-Auto]] Support Android Auto sur [[OsmAnd]] Nicolas Palix,<br />
# [[OCR de composition d'étiquettes alimentaires pour la base Open Food Facts]] (Nicolas Palix, Didier Donsez)<br />
Sous réserve de matériel<br />
# Reconstruction 3D d'images thermiques provenant des réseaux de caméras thermiques [[Flir One]] : application au sport connecté(Didier DONSEZ)<br />
# Géolocation Indoor basée sur [[Decaware]]. Utilisation d'algorithmes de trigonalisation ([https://github.com/jpias/beacon-pfilter-simulation/wiki lien]), (Didier Donsez, Vivien Quéma)<br />
<br />
==RICM5==<br />
===Projet Semestre S10===<br />
<br />
Enseignants responsables : Didier Donsez<br />
<br />
====Calendrier====<br />
<br />
le projet commence le 23/01 et se termine le 17/03.<br />
<br />
Réunion de présentation : 23/01 à 8H00 (RdV Salle AIR).<br />
<br />
Soutenance à mi-parcours : Date: Vendredi 17/02 de 08:00-11:00 (Salle P257)<br />
<br />
Soutenance (puis Pot de la fin): A DEFINIR (Provisoirement le 16/03 après-midi)<br />
<br />
====Projet====<br />
<br />
<br />
<br />
{|class="wikitable alternance"<br />
|+ Affectation des projets RICM5 2016-2017<br />
|-<br />
|<br />
!scope="col"| Sujet<br />
!scope="col"| Etudiants<br />
!scope="col"| Enseignant(s)<br />
!scope="col"| Fiche de suivi<br />
!scope="col"| Dépot git<br />
!scope="col"| Supports<br />
|-<br />
<br />
!scope="row"| 1<br />
| [[RealTimeSubtitle - 2016/17 - RICM5| Sous-titre d'un cours en temps réel]] <br />
| BRUEL, BUI, LECHEVALLIER, MATHIEU, MOURET, <br />
| Laurent Besacier, Didier Donsez, Marie-Paule Balicco, Jérôme Maisonnasse<br />
| [[RealTimeSubtitle - 2016/17 - RICM5| Fiche]] - [[RICM5_2016_2017_-_RealTimeSubtitle/SRS|SRS]]<br />
| [https://gitlab.com/annaBanana/RealTimeSubtitles gitlab]<br />
| [[Media:slideRealTimeSubtitle2017s.pdf|Présentation intermédiare]] - [[Media:presentationRealTimeSubtitle2017.pdf|Presentation finale]] - [https://35.157.107.127| site web]<br />
|-<br />
<br />
!scope="row"| 2<br />
| [[Réalité virtuelle et Augmentée pour la maintenance d'usines]] <br />
| BERTRAND-DALECHAMPS, POPEK, ZAHO, SUN, NDIAYE, HAMMOUTI, <br />
| Didier Donsez, Georges-Pierre Bonneau<br />
| [[RVA_Fiche_de_suivi | Fiche de suivi]] - [[SRS_Realite_Virtuelle|SRS]]<br />
| [https://github.com/ github]<br />
| [[Media:RVA_PresentationConception.pdf|Presentation intermédiaire]] - [[Media:RVA_PresentationFinale.pdf|Presentation Finale]] - [[Media:RVA_DocUtilisateur.pdf|Documentation Utilisateur]] - [[Media:DevAR.pdf|Documentation Développeur]] - [[RVA_PageVideo|Videos]]<br />
|-<br />
<br />
!scope="row"| 3<br />
| [[CoCass|CoCaas : CaaS Docker collaboratif]] <br />
| ARRADA, FAURE, FOUNAS, HALLAL, MEDEWOU, VOUTAT, <br />
| Didier Donsez<br />
| [[Fiche de suivi - CoCaas|Fiche]] - [[SRS-CoCaas|SRS]]<br />
| [https://github.com/CoCaas/ github]<br />
| [[Media:MPI_CoCaas.pdf|Rapport MPI]] - [https://docs.google.com/presentation/d/10nwRHcUiLSjD7otbTfsswkDlIWpb3ddvc19HUSlrKvg/edit?usp=sharing Presentation intermédiaire] - [[Media:Test.pdf|Presentation finale]]<br />
|-<br />
<br />
<br />
!scope="row"| 4<br />
| [[Projet 2017 : Gestionnaire de packages Polytech| Gestion des images systèmes pour les supports à Polytech Grenoble]] <br />
| GATTAZ, LECORPS, NOUGUIER, RAMEL, <br />
| Didier Donsez<br />
| [[Fiche de suivi - Gestionnaire de packages| Fiche]] - [[SRS - Gestionnaire de packages|SRS]]<br />
| [https://github.com/Packebian github]<br />
| [[Media:PackagesPresentationConception.pdf|Presentation intermédiaire]] - [[Media:PackagesPresentationFinale2.pdf| Présentation finale]]<br />
|-<br />
<br />
<br />
!scope="row"| 5<br />
| [[Suggestion_intelligente_de_films_basée_sur_TensorFlow | Suggestion intelligente de films basée sur TensorFlow]] <br />
| DUNAND, HATTINGUAIS, NAVARRO, NIOGRET, RACHEX, <br />
| Didier Donsez<br />
| [[Fiche_de_suivi_-_Recommandation_intelligente_de_films| Fiche]] - [[SRS_-_Recommandation_intelligente_de_films|SRS]]<br />
| [https://github.com/DeepLearningMoviesProject github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:presentation.pdf|Presentation intermédiaire]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 6<br />
| [[Projet Startup]] <br />
| LUCIDARME, DELAPORTE, <br />
| Didier Donsez<br />
| [[RICM5_2016_2017_-_Startup| Fiche]] - [[RICM5_2016_2017_-_Startup/SRS|SRS]]<br />
| [https://github.com/ github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation intermédiaire]] - [[Media:presentation.pdf|Presentation]] - Video - Photos<br />
|-<br />
<br />
<br />
!scope="row"| 7<br />
| [[Contributions à RIOT OS]] autour de [[LoRa]] <br />
| Taquyeddine ZEGAOUI, <br />
| Didier Donsez<br />
| [[RICM5_2016_2017_-_RIOTOSLoRa| Fiche]] - [[RICM5_2016_2017_-_RIOTOSLoRa/SRS|SRS]]<br />
| [https://github.com/ github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation intermédiaire]] - [[Media:presentation.pdf|Presentation]] - Video - Photos<br />
|-<br />
<br />
|}<br />
<br />
<br />
Projets non choisi:<br />
# Borne d'accueil handicap : Didier Donsez, Marie-Paule Balicco, Jérôme Maisonnasse<br />
# [[Plateforme IoT du LIG basé sur Walt]] : Bernard Tourancheau, Franck Rousseau, Etienne Dublé<br />
<br />
====Soutenance à mi-parcours====<br />
Date: Vendredi 17/02 de 08:00-11:00 (Salle P257)<br />
# 08H00-08H25: [[RealTimeSubtitle - 2016/17 - RICM5| Sous-titre d'un cours en temps réel]]<br />
# 08H25-08H50: [[Réalité virtuelle et Augmentée pour la maintenance d'usines]] (avec [[Unity 3D]] et [[Google VR]] SDK for Android, caméra Flir One, [[WebRTC]])<br />
# 08H50-09H15: [[CoCass|CoCass : CaaS Docker collaboratif]] : Didier Donsez (ARRADA, FAURE, FOUNAS, HALLAL, MEDEWOU, VOUTAT)<br />
# 09H15-09H40: [[Projet 2017 : Gestionnaire de packages Polytech| Gestion des images systèmes pour les supports à Polytech Grenoble]]<br />
# 09H40-10H05: [[Suggestion_intelligente_de_films_basée_sur_TensorFlow | Suggestion intelligente de films basée sur TensorFlow]]<br />
# 10H05-10H30: Projet Startup<br />
# 10H30-11H00:[[Contributions à RIOT OS]] autour de [[LoRa]]<br />
<br />
Instructions:<br />
* 10 minutes de présentation + démonstration.<br />
* 10 minutes de questions<br />
<br />
(7 transparents maximum pour résumer l'organisation et l'avancement du projet)<br />
<br />
====Soutenance (puis Pot de la fin)====<br />
Le 16/03 en P129 le matin et P007 l'après-midi<br />
<br />
* 10:00-10:40 [[Projet Startup]]<br />
* 10:45-11:25 [[Projet 2017 : Gestionnaire de packages Polytech| Gestion des images systèmes pour les supports à Polytech Grenoble]]<br />
* 13:00-13:40 [[RealTimeSubtitle - 2016/17 - RICM5| Sous-titre d'un cours en temps réel]]<br />
* 13:45-14:25 [[Réalité virtuelle et Augmentée pour la maintenance d'usines]]<br />
* 14:30-15:10 [[CoCass|CoCass : CaaS Docker collaboratif]]<br />
* 15:15-15:55 [[Suggestion_intelligente_de_films_basée_sur_TensorFlow | Suggestion intelligente de films basée sur TensorFlow]] <br />
* 16:00-16:30 [[Contributions à RIOT OS]] autour de [[LoRa]] <br />
<br />
* Pot d' "Au Revoir" (16:45-18:30 à la Kfet de Polytech)<br />
<br />
Instructions:<br />
*Chaque soutenance comporte 15 minutes de présentation, 15 minutes de démonstration et 10 minutes de questions. Un transparent doit être consacré au travail confié et réalisé par les étudiants en DUT (AVOSTI).<br />
* Répétez plusieurs fois votre présentation et votre démonstration.<br />
* L'ensemble des documents (y compris photos, vidéos et ''[[Logiciels#Screencast|screencast]]s'') doivent être accessibles depuis le tableau ci-dessous et dans chaque fiche de suivi. Prévoyez une copie sur clé USB.<br />
* Les étudiants de DUT vous accompagnent lors de votre soutenance.<br />
* '''TOUT Le matériel prêté devra être rapporté et restitué dans un sac cabas lors de la soutenance.'''<br />
<br />
====Séances Suivi:====<br />
* Lundi 30/01 - 08:00-11:00<br />
* Mardi 31/01 - 10:00-12:00<br />
* Lundi 06/02 - 08:00-10:00<br />
* Lundi 13/02 - 08:00-10:00<br />
* Lundi 27/02 - 08:00-10:00<br />
* Lundi 06/03 - 08:00-10:00<br />
* Lundi 13/03 - 08:00-09:45<br />
<br />
====Séances MPI:====<br />
* Jeudi 26 janvier matin (Stéphanie Diligent)<br />
* Jeudi 2 février matin (Stéphanie Diligent)<br />
* Lundi 6 février matin (Emmanuelle Tréhoust)<br />
* Mardi 14 février matin (Emmanuelle Tréhoust)<br />
* Lundi 6 mars après midi (Stéphanie Diligent et Emmanuelle Tréhoust)<br />
<br />
<br />
====Bonus track====<br />
Remarque: [http://snowcamp.io/2017/fr/welcome Netbeans Days 2017], 7 Février 2017, Bâtiment IMAG. Pensez à vous inscrire!<br />
<br />
Remarque: [https://wiki.eclipse.org/Eclipse_IoT_Day_Grenoble_2017 Eclipse IoT Days 2017], 9-10 Mars 2017, Bâtiment IMAG. Pensez à vous inscrire!<br />
<br />
=Année à définir=<br />
<br />
* [[Non linear MKV Editor]] : Nicolas Palix<br />
* [[Smart campus augmenté et contributif]]<br />
* [[Intégration OpenHAB / OpenTele]]<br />
* [[Client MQTT pour OBD]] sur Android<br />
* [[Sommeilomètre]] (Michael Perin, Didier Donsez)<br />
* [[Open DynDNS]]<br />
* [[IllumiRoom]]<br />
* [[Emergency mobile app]] Dvp Android. Nicolas Palix pour TIS, PRI et RICM<br />
* [[Kodi Reflexive Remote]] Dynamic remote control for Kodi. Nicolas Palix.<br />
* [http://intgat.tigress.co.uk/rmy/uml/index.html Zerofree] Portage de zerofree pour d'autres systèmes de fichiers que ext2/3/4 (notamment Unix FS). Voir également la page [http://packages.qa.debian.org/z/zerofree.html QA de Debian]. Nicolas Palix.<br />
* [[Bracelet électronique de monitoriing de l'alcoolémie]]<br />
* [[Oxymètre DIY]]<br />
* [[PinSound]]<br />
* [[Extension du support STM32Fx-Discovery dans libopencm3]] : Olivier Richard<br />
* [[Arduino et libopencm3]] : Olivier Richard<br />
* [[Data Acquisition System et Stm32f4-Discovery]] : Olivier Richard<br />
* [[Distributed Data Storage System]] : Olivier Richard<br />
* [[Dashboard based on w2ui]]<br />
* [[Environnement logiciel pour FabLab]] : Olivier Richard<br />
* [[Environnement logiciel pour le Live Programming]] : Olivier Richard<br />
* [[VirtualPinball]]<br />
* Tondeuse dessinatrice<br />
* [[ImmersiveDog]] Nicolas Glade, Didier Donsez<br />
* Projet avec [[OpenROV]] ???? : Didier Donsez<br />
* [[Sphero]] malin (Michael Périn) (2 etudiants)<br />
* [[Drone paramoteur]] ???<br />
* [[Optimisation de l'énergie pour cyclotouriste électrique]]<br />
* [[SmartSelfService|Smart Self-Service 2015]] Didier Donsez & Vivien Quema<br />
* [[Station Météo LoRa]] : contribution au projet [[LoRA-Fabian]] (Didier Donsez)<br />
<br />
=Réserve (boite à idées)=<br />
<br />
# [[Tag et Paint Ball en réalité augmentée]] (Michaël Périn) <br />
# [[Passe moi ton fichier]] (Michaël Périn) <br />
# [[Extensions à Fab Server]] (Jean-Michel Molenaar) sous reserve (CM ou SR)<br />
# [[Table multijeux de café 2.0]]<br />
# [[ GPIO_Qemu_RasPI| Emulation des GPIO dans QEMU pour le carte Raspberry Pi]] (Olivier Richard)<br />
# [[ Qemu et STM32F0-Discovery ]] (Olivier Richard)<br />
# [[Serrure à clé MIDI multifactorielle]] (Didier Donsez)<br />
# [[Table interactive musicale]] (Didier Donsez)<br />
# [[iMailbox]] (Didier Donsez)<br />
# [[AmILight]] (eclairage d'ambience intelligent) (Didier Donsez)<br />
# [[PDAmeetPDA]] (synchronisation d'agenda) (Michaël Périn)<br />
# [[1 000 000 VMs]] (expérimentation d'application distribuée à très grande échelle) (Olivier Richard) (2-3 RICM4)<br />
# [[Multiple Kinect]] (utilisation simultanée de plusieurs Kinect) (Olivier Richard) (RICM ou 3I)<br />
# [[Kinect musicale]] (Didier Donsez) (RICM)<br />
# [[Ktechlab Simavr Arduino | Ktechlab et integration de Simavr(Arduino)]] (Olivier Richard) (2-3 RICM4-SR)<br />
# Ocaml on AVR (Arduino)<br />
# Ocaml on Cortex-M3<br />
# [[Arduino on STM32 Discovery]]<br />
# [[Reverse Geocache Puzzle Box]]<br />
# [[OSGi ME]] (Didier Donsez)<br />
# [[Affichage Etudiant à Polytech]]<br />
# Synthèse 3D + motion capture Kinect<br />
# Logiciel d'[[apprentissage du calcul]] sur tablette Android (reconnaissance de chiffres manuscrits)<br />
# Plancher de verre (saint gobain) à la [http://www.wat.tv/video/mickael-jackson-billie-jean-oewj_2ey2h_.html Mickael Jackson dans Billie Jean] ! woo<br />
# [[Ktechlab Simavr Arduino | Ktechlab et integration de Simavr(Arduino)]] (Olivier Richard) (2-3 RICM4-SR)<br />
# [[CNC]]<br />
# [[Idées en Vrac]]<br />
# Scheme Everywhere (Olivier Richard) (2-3 RICM4-SR)<br />
# [[Projet Station Météo]]<br />
# Ocaml on AVR (Arduino)<br />
# [[Table interactive musicale]] (Didier Donsez)<br />
# [[AmILight]] (eclairage d'amnbience intelligent) (Didier Donsez)<br />
# [[Cube pointeur]] d'activité ingénieur<br />
# [http://www.instructables.com/id/Puppeteer-Motion-Capture-Costume/ Puppeteer Motion-Capture Costume]<br />
# [[Musical Staircase]] @ Polytech (Didier Donsez, 1 RICM4 + 1 3I4)<br />
# [[Total Recall]] (Didier Donsez)<br />
# [[SoundMachine]]<br />
# [[IGN-OSM|Importation de données IGN publiques dans OSM]]<br />
# [[Speed-limit-OSM|Analyse de traces GPX pour déterminer les limitations de vitesse]]<br />
# [[Multi perceptual cameras]] (Didier Donsez)<br />
# [[Photomaton 3D]] (Didier Donsez)<br />
# [[ArduCopter]]<br />
# [[Parking Intelligent]]</div>
Clement.Rouquier
https://air.imag.fr/index.php?title=File:UltraTEAM_GR_Poster.png&diff=35217
File:UltraTEAM GR Poster.png
2017-04-02T22:34:10Z
<p>Clement.Rouquier: </p>
<hr />
<div></div>
Clement.Rouquier
https://air.imag.fr/index.php?title=Projets_2016-2017&diff=34159
Projets 2016-2017
2017-03-06T08:31:31Z
<p>Clement.Rouquier: /* Projet Semestre S8 */</p>
<hr />
<div><<[[Projets 2015-2016]] | [[Projets]] | [[Projets 2017-2018]]>><br />
=RICM=<br />
==RICM3==<br />
<br />
==RICM4==<br />
===Projet Semestre S8===<br />
<br />
Enseignants responsables : Olivier Richard, Didier Donsez<br />
<br />
Dates : Lundi 9/01/2017 au 29/03/2017<br />
Lancement: 9/01/2017 après-midi<br />
Soutenance: le 3/04/2017 matin et après-midi<br />
Soutenance à mi-parcours: A définir<br />
<br />
* '''Evaluation à mi-parcours le lundi/mardi ???''': Format: 10min (5min de présentation 3 slides au plus, 5min de discussion). Cette évaluation sera prise en compte dans la note finale.<br />
<br />
'''Consignes générales:'''<br />
<br />
* '''Vous devez être pro-actifs !!!''': Si des points sont pas ou mals spécifiés, vous le faîtes et vous justifiez vos choix. Pour les problèmes techniques éventuels vous pouvez: creuser la question, contacter l'auteur du code si il y a lieu, écrire un rapport de bug ('''Attention:''' ca se prépare !), soumettre un patch/pull request, contacter l'enseignant ou la personne référente du projet.<br />
<br />
* '''Vous devez maintenir une fiche de suivi de projet''': elle doit être mise à jour chaque semaine, elle rassemble les élements essentiels du projet, elle <br />
indique les évolutions du projet et présente sa feuille de route. '''Note:''' le nom de la fiche doit être composé du nom du projet et suffixé par ricm4_2015_2016. '''Cette fiche compte pour la note finale'''<br />
<br />
* '''Vous devez utiliser un logiciel de gestion de version''' pour vos développements comme [http://en.wikipedia.org/wiki/Git_%28software%29 git ] et nous vous conseillons d'utiliser le site [https://github.com github] pour l'hébergement de votre dépôt public.<br />
<br />
* Les document public (exemple sur github) doivent être rédigés en anglais (README, documentation, commentaires de code, nom de variables et de fonctions). Une bonnification sera accordée si le rapport et les transparents sont en anglais (la soutenance sera en francais).<br />
<br />
{|class="wikitable alternance"<br />
|+ Affectation des projets RICM4 2016-2017<br />
|-<br />
|<br />
!scope="col"| Sujet<br />
!scope="col"| Etudiants<br />
!scope="col"| Enseignant(s)<br />
!scope="col"| Fiche de suivi<br />
!scope="col"| Dépot git<br />
|-<br />
<br />
!scope="row"| 1<br />
| [[Ruche connectée LoRa]] <br />
| MOREAU, LESAGE, <br />
| Palix, Richard<br />
| [[RICM4_2016_2017_-_Ruche_Connectee| Fiche]] - [[RICM4_2016_2017_-_Ruche_Connectee_/_SRS|SRS]]<br />
| [https://github.com/ github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides1.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:PresentationMiParcours_Ruche.pdf|Presentation]]<br />
|-<br />
<br />
<br />
!scope="row"| 2<br />
| [[Serres connectées]]<br />
| BOISADAM, DALLE<br />
| Palix<br />
| [[Projets-2016-2017-Serres_connectées| Fiche]] - [[Projet-2016-2017-Serres_connectées_-_SRS| SRS]]<br />
| [https://github.com/igreenhouse github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:Presentation_-_mi-projet_-_serre-connectee-2017.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 3<br />
| [[I-Greenhouse]] : [[Serre connectée aquaponie]]<br />
| MARCHAND, PELLICER<br />
| Palix, Donsez<br />
| [[Projets-2016-2017-I-Greenhouse : Serre connectée aquaponie | Fiche]] - [[Projets-2015-2016-I-Greenhouse : Serre connectée aquaponie/UML_Diagrams | UML]] - [[Projets-2015-2016-I-Greenhouse : Serre connectée aquaponie/SRS | SRS]]<br />
| [https://github.com/igreenhouse github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides1.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentationMiParcours_igreenhouse.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 4<br />
| [[Station de pompage connectée]]<br />
| FERNANDES, CHEVALIER, FU <br />
| Palix, Donsez, Richard<br />
| [[Projets-2016-2017-Station de pompage connectée| Fiche]] - [[Projets-2016-2017-Station de pompage connectée - SRS| SRS]] - [[Projets-2016-2017-Station de pompage connectée - UML| UML]]<br />
| [https://github.com/ github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 5<br />
| Géolocation Indoor basée sur les [[Beacon]]s BLE <br />
| COCHINHO, GAMBRO<br />
| Donsez<br />
| [[Projets-2016-2017-IndoorGeoloc| Fiche]] - [[Projets-2016-2017-IndoorGeoloc-UML | UML]] - [[Proj-2016-2017-IndoorGeoloc/SRS|SRS]]<br />
| [https://github.com/LouisCochinho/Geoloc_Indoor github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides1.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 6<br />
| [[Application de suivi de colis avec RFID UHF (EPC Global)]],<br />
| AMODRU-FAVIN, DELISE <br />
| Donsez<br />
| [[Projets-2016-2017-SuiviColisRFID| Fiche]] - [[Proj-2016-2017-ColisMatter/SRS|SRS]]<br />
| [https://github.com/delisea/ColisMatter github]]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides1.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 7<br />
| [[StartAIR 2017]]<br />
| ODIEVRE, CHAMBONNET<br />
| Palix<br />
| [[Projets-2016-2017-StartAir| Fiche]] - [[Projets-2016-2017-StartAir-UML| UML]] - [[Projets-2016-2017-StartAir-SRS| SRS]]<br />
| [https://github.com/s6mon/StartAir2017.git github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides1.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 8<br />
| [[SmartSelfService]] <br />
| ABONNENC, BONHOURE<br />
| Donsez<br />
| [[Projets-2016-2017-SmartSelfService| Fiche]] - [[Projets-2016-2017-SmartSelfService/SRS | SRS]] - [[Projets-2016-2017-SmartSelfService/UML | UML ]]<br />
| [https://github.com/RICM4SmartSelfService/RICM4_Projet_SmartSelfService github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:SmartSelfService_transparents.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 9<br />
| [[Interface de contrôle "Photo" pour OpenHAB]]<br />
| LACHARTRE, SAVARY <br />
| Donsez<br />
| [[Projets-2016-2017 - Interface de contrôle "Photo" pour OpenHAB| Fiche]]- [[Projets-2016-2017 - Interface de contrôle "Photo" pour OpenHAB/SRS| SRS]]<br />
| [https://github.com/ github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides1.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 10<br />
| [[UltraTeam|UltraTeam: Application Mobile pour les Ultra-trailers et les randonneurs]],<br />
| ROUQUIER, GEOURJON<br />
| Donsez<br />
| [[Projets-2016-2017-UltraTeamBest| Fiche]]- [[Projets-2016-2017-UltraTeamBest/SRS| SRS]]<br />
| [https://github.com/ultratrail github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:UltraTEAM_Presentation_Mi_Projet.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 10<br />
| [[UltraTeam|UltraTeam: Application Mobile pour les Ultra-trailers et les randonneurs]],<br />
| GALLIER, FERRERA<br />
| Donsez<br />
| [[Projets-2016-2017-UltraTeam| Fiche]]- [[Projet-2016-2017-UltraTeam/SRS| SRS]] - [[Projet-2016-2017-UltraTeam/UML | UML ]]<br />
| [https://github.com/ultratrail github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:UltraTEAM_Presentation_Mi_Projet.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 11<br />
| [[Plateforme d'analyse de données IoT]] <br />
| ALLARD, ROCHER<br />
| Palix, Richard<br />
| [[Projets-2016-2017-Plateform_Analyse_Données_IOT| Fiche]] [[Projets-2016-2017-Plateform_Analyse_Données_IOT/SRS| SRS]] [[Projets-2016-2017-Plateform_Analyse_Données_IOT/UML| UML]]<br />
| [https://github.com/ github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides1.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 13<br />
| [[IRock : Surveillance Géotechnique LoRa|iRock]]<br />
| SIEST, VEGREVILLE<br />
| Donsez<br />
| [[Projets-2016-2017-Projet_IRock| Fiche]]<br />
| [https://github.com/Shadsa/IRock github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides1.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 14<br />
| [[GrenobloisFuté]]<br />
| VIAL, GUERRY<br />
| Palix<br />
| [[Projets-2016-2017-| Fiche]]<br />
| [https://github.com/ github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides1.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 15<br />
| [[GeoDiff]]<br />
| AMAURIN, BECHER, BROCHIER<br />
| Palix<br />
| [[Projets-2016-2017-GeoDiff| Fiche]] - [[Projets-2016-2017-GeoDiff/SRS| SRS]] - [[Projets-2016-2017-GeoDiff/UML| UML]]<br />
| [https://github.com/Hbecher/GeoDiff github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides1.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 16<br />
| [[floatingimage UPnP feed]] <br />
| FUSTES, DEREYMEZ<br />
| Palix, Donsez<br />
| [[Projets-2016-2017-floatingimageUPnP | Fiche]] - [[Projets-2016-2017-floatingimageUPnP/SRS | SRS]] - [[Projets-2016-2017-floatingimageUPnP/UML | UML]]<br />
| [https://github.com/fustesr/floatingimage github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides1.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 17<br />
| Webconférence [[Google VR]]<br />
| RIVOAL, ZENNOUCHE <br />
| Donsez<br />
| [[Projets-2016-2017-VideoConference| Fiche]] - [[viseoconferenceUML| UML]]<br />
| [https://github.com/ github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides1.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:videoconference.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 18<br />
| [[NixOsTegraX1 | NixOS for Tegra X1]]<br />
| NASSIK, TURRIN<br />
| Richard<br />
| [[Projets-2016-2017-NixosTegraX1| Fiche]] - [[NixosTegraX1/SRS| SRS]]<br />
| [https://github.com/ github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:Nixos.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 20<br />
| [[ExperimentControl | Experiment Control]] <br />
| HOMBERG, LEMAIRE<br />
| Richard<br />
| [[Proj-2016-2017-ExperimentControl| Fiche]] - [[ExperimentControl/SRS| SRS]]<br />
| [https://github.com/ github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides1.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 23<br />
| Intégration de caméras UPnP dans [[OpenHAB]] <br />
| BLANC, LAW<br />
| Donsez<br />
| [[Projets-2016-2017-UPnP Cameras integration into OpenHAB | Fiche]] - [[Projets-2016-2017-UPnP Cameras integration into OpenHAB/SRS | SRS]]<br />
| [https://github.com/lawchris/openhab2-addons/tree/upnp-camera-binding github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides1.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:UpnpCamera BLANC LAW.pdf|Presentation mi_parcours]]<br />
|-<br />
<br />
|}<br />
<br />
'''Propositions de projets:'''<br />
<br />
# [[Ruche connectée LoRa]] (OpenHab) , Didier Donsez, Denis Jongmann, Olivier Richard<br />
# [[Serres connectées]] (OpenHab) Surveillance des serres d'une exploitation agricole. Nicolas Palix, Michaël Périn et Vincent Hibon ("Les jardins du Coteau").<br />
# [[I-Greenhouse]] : [[Serre connectée aquaponie]] (OpenHab). Nicolas Palix, Didier Donsez (2 groupes)<br />
# [[Station de pompage connectée]]. Nicolas Palix<br />
# Géolocation Indoor basée sur les [[Beacon]]s BLE (iBeacon, AltBeacon, Eddystone). Utilisation d'algorithmes de trigonalisation ([https://github.com/jpias/beacon-pfilter-simulation/wiki lien]), (Didier Donsez, Vivien Quéma)<br />
# [[Application de suivi de colis avec RFID UHF (EPC Global)]], Didier Donsez<br />
# Projet [[StartAIR 2017]] : interface tablette de tableau de bord d'ULM, fiabilisation du réflecteur Flight Simulator (Fabrice Dubois, Nicolas Palix)<br />
# [[SmartSelfService]] (Didier Donsez, François Portet) en collaboration avec PHELMA.<br />
# [[Interface de contrôle "Photo"]] pour [[OpenHAB]] : éventuelle contribution à la fondation Eclipse (Didier Donsez)<br />
# [[UltraTeam|UltraTeam: Application Mobile pour les Ultra-trailers et les randonneurs]] (Didier Donsez, Vivien Quéma)<br />
# [[Plateforme d'analyse de données IoT]] (Nicolas Palix)<br />
# Extension de [[Swagger]] pour [[CoAP]] : Application avec [[Californium]] (Contribution à une communauté open-source), (Didier Donsez)<br />
# [[IRock : Surveillance Géotechnique LoRa|iRock]]: Plateforme Ubilitics pour la surveillance des risques naturelles (déploiement grande échelle de capteurs [[LoRa]] sur le terrain pour l'observation de glissement de terrain) en commun avec Geotech (à confirmer) : Didier Donsez, Sandrine Caroly, Denis Jongmans.<br />
# [[GrenobloisFuté]] Couche trafic sur OsmAnd avec un greffon. Données dynamique de la métro. Dvp Android. Nicolas Palix.<br />
# [[GeoDiff]] Production, visualisation, fusion de variations (diff) sur de l'information géocodée : Nicolas Palix (Multimédia)<br />
# [[floatingimage UPnP feed]] Cadre photos connecté à Kodi. Dvp Android. Nicolas Palix, Didier Donsez<br />
# Webconférence WebRTC stereoscopique avec [[Google VR]] SDK for Android (Jérôme Maisonnasse, Didier Donsez)<br />
# [[NixOsTegraX1 | NixOS for Tegra X1]]: (Olivier Richard)<br />
# [[LittleJump | Little Jump]]: Inventer un blablacar pour les petits trajets (Olivier Richard)<br />
# [[ExperimentControl | Experiment Control]] Développer un moteur de conduite d'expérience pour les systèmes distribués (Olivier Richard) <br />
# [[CrystalLanguageMicrocontroller | Crystal Language for Microcontroller]] (Olivier Richard)<br />
# Questionnaires automatiques, (Pierre Gillois, Didier Donsez)<br />
# Intégration de caméras UPnP dans [[OpenHAB]] (Didier Donsez)<br />
Moins prioritaires:<br />
# [[OwnPOI]] ownCloud plugin and osmand plugin to share POI and favorite positions. Dvp Android. Nicolas Palix.<br />
# [[OwnList]] ownCloud plugin and Android app to share a TODO list. Nicolas Palix.<br />
# [[Osmand-Auto]] Support Android Auto sur [[OsmAnd]] Nicolas Palix,<br />
# [[OCR de composition d'étiquettes alimentaires pour la base Open Food Facts]] (Nicolas Palix, Didier Donsez)<br />
Sous réserve de matériel<br />
# Reconstruction 3D d'images thermiques provenant des réseaux de caméras thermiques [[Flir One]] : application au sport connecté(Didier DONSEZ)<br />
# Géolocation Indoor basée sur [[Decaware]]. Utilisation d'algorithmes de trigonalisation ([https://github.com/jpias/beacon-pfilter-simulation/wiki lien]), (Didier Donsez, Vivien Quéma)<br />
<br />
==RICM5==<br />
===Projet Semestre S10===<br />
<br />
Enseignants responsables : Didier Donsez<br />
<br />
====Calendrier====<br />
<br />
le projet commence le 23/01 et se termine le 17/03.<br />
<br />
Réunion de présentation : 23/01 à 8H00 (RdV Salle AIR).<br />
<br />
Soutenance à mi-parcours : Date: Vendredi 17/02 de 08:00-11:00 (Salle P257)<br />
<br />
Soutenance (puis Pot de la fin): A DEFINIR (Provisoirement le 16/03 après-midi)<br />
<br />
====Projet====<br />
<br />
<br />
<br />
{|class="wikitable alternance"<br />
|+ Affectation des projets RICM5 2016-2017<br />
|-<br />
|<br />
!scope="col"| Sujet<br />
!scope="col"| Etudiants<br />
!scope="col"| Enseignant(s)<br />
!scope="col"| Fiche de suivi<br />
!scope="col"| Dépot git<br />
!scope="col"| Supports<br />
|-<br />
<br />
!scope="row"| 1<br />
| [[RealTimeSubtitle - 2016/17 - RICM5| Sous-titre d'un cours en temps réel]] <br />
| BRUEL, BUI, LECHEVALLIER, MATHIEU, MOURET, <br />
| Laurent Besacier, Didier Donsez, Marie-Paule Balicco, Jérôme Maisonnasse<br />
| [[RealTimeSubtitle - 2016/17 - RICM5| Fiche]] - [[RICM5_2016_2017_-_RealTimeSubtitle/SRS|SRS]]<br />
| [https://gitlab.com/annaBanana/RealTimeSubtitles github]<br />
| [[Media:slideRealTimeSubtitle2017s.pdf|Présentation intermédiare]] - [[Media:presentationRealTimeSubtitle2017.pdf|Presentation finale]] - Video - Photos<br />
|-<br />
<br />
!scope="row"| 2<br />
| [[Réalité virtuelle et Augmentée pour la maintenance d'usines]] <br />
| BERTRAND-DALECHAMPS, POPEK, ZAHO, SUN, NDIAYE, HAMMOUTI, <br />
| Didier Donsez, Georges-Pierre Bonneau<br />
| [[RVA_Fiche_de_suivi | Fiche de suivi]] - [[RVA_Analyse_des_besoins|Analyse des besoins]]<br />
| [https://github.com/ github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:RVA_PresentationConception.pdf|Presentation intermédiaire]] - [[Media:presentation.pdf|Presentation]] - Video - Photos<br />
|-<br />
<br />
!scope="row"| 3<br />
| [[CoCass|CoCass : CaaS Docker collaboratif]] <br />
| ARRADA, FAURE, FOUNAS, HALLAL, MEDEWOU, VOUTAT, <br />
| Didier Donsez<br />
| [[Fiche de suivi - CoCass|Fiche]] - [[SRS-CoCass|SRS]]<br />
| [https://github.com/CoCaas/ github]<br />
| [[Media:test.pdf|Rapport MPI]] - [https://docs.google.com/presentation/d/10nwRHcUiLSjD7otbTfsswkDlIWpb3ddvc19HUSlrKvg/edit?usp=sharing Presentation intermédiaire] - [[Media:presentation.pdf|Presentation finale]]<br />
|-<br />
<br />
<br />
!scope="row"| 4<br />
| [[Projet 2017 : Gestionnaire de packages Polytech| Gestion des images systèmes pour les supports à Polytech Grenoble]] <br />
| GATTAZ, LECORPS, NOUGUIER, RAMEL, <br />
| Didier Donsez<br />
| [[Fiche de suivi - Gestionnaire de packages| Fiche]] - [[SRS - Gestionnaire de packages|SRS]]<br />
| [https://github.com/Packebian github]<br />
| [[Media:PackagesPresentationConception.pdf|Presentation intermédiaire]] - [[Media:PackagesPresentationFinale.pdf| Présentation finale]]<br />
|-<br />
<br />
<br />
!scope="row"| 5<br />
| [[Suggestion_intelligente_de_films_basée_sur_TensorFlow | Suggestion intelligente de films basée sur TensorFlow]] <br />
| DUNAND, HATTINGUAIS, NAVARRO, NIOGRET, RACHEX, <br />
| Didier Donsez<br />
| [[Fiche_de_suivi_-_Recommandation_intelligente_de_films| Fiche]] - [[SRS_-_Recommandation_intelligente_de_films|SRS]]<br />
| [https://github.com/DeepLearningMoviesProject github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:presentation.pdf|Presentation intermédiaire]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 6<br />
| [[Projet Startup]] <br />
| LUCIDARME, DELAPORTE, <br />
| Didier Donsez<br />
| [[RICM5_2016_2017_-_Startup| Fiche]] - [[RICM5_2016_2017_-_Startup/SRS|SRS]]<br />
| [https://github.com/ github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation intermédiaire]] - [[Media:presentation.pdf|Presentation]] - Video - Photos<br />
|-<br />
<br />
<br />
!scope="row"| 7<br />
| [[Contributions à RIOT OS]] autour de [[LoRa]] <br />
| Taquyeddine ZEGAOUI, <br />
| Didier Donsez<br />
| [[RICM5_2016_2017_-_RIOTOSLoRa| Fiche]] - [[RICM5_2016_2017_-_RIOTOSLoRa/SRS|SRS]]<br />
| [https://github.com/ github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation intermédiaire]] - [[Media:presentation.pdf|Presentation]] - Video - Photos<br />
|-<br />
<br />
|}<br />
<br />
<br />
Projets non choisi:<br />
# Borne d'accueil handicap : Didier Donsez, Marie-Paule Balicco, Jérôme Maisonnasse<br />
# [[Plateforme IoT du LIG basé sur Walt]] : Bernard Tourancheau, Franck Rousseau, Etienne Dublé<br />
<br />
====Soutenance à mi-parcours====<br />
Date: Vendredi 17/02 de 08:00-11:00 (Salle P257)<br />
# 08H00-08H25: [[RealTimeSubtitle - 2016/17 - RICM5| Sous-titre d'un cours en temps réel]]<br />
# 08H25-08H50: [[Réalité virtuelle et Augmentée pour la maintenance d'usines]] (avec [[Unity 3D]] et [[Google VR]] SDK for Android, caméra Flir One, [[WebRTC]])<br />
# 08H50-09H15: [[CoCass|CoCass : CaaS Docker collaboratif]] : Didier Donsez (ARRADA, FAURE, FOUNAS, HALLAL, MEDEWOU, VOUTAT)<br />
# 09H15-09H40: [[Projet 2017 : Gestionnaire de packages Polytech| Gestion des images systèmes pour les supports à Polytech Grenoble]]<br />
# 09H40-10H05: [[Suggestion_intelligente_de_films_basée_sur_TensorFlow | Suggestion intelligente de films basée sur TensorFlow]]<br />
# 10H05-10H30: Projet Startup<br />
# 10H30-11H00:[[Contributions à RIOT OS]] autour de [[LoRa]]<br />
<br />
Instructions:<br />
* 10 minutes de présentation + démonstration.<br />
* 10 minutes de questions<br />
<br />
(7 transparents maximum pour résumer l'organisation et l'avancement du projet)<br />
<br />
====Soutenance (puis Pot de la fin)====<br />
Le 16/03 en P129 le matin et P007 l'après-midi<br />
<br />
* 10:00-10:40 [[Projet Startup]]<br />
* 10:45-11:25 [[Projet 2017 : Gestionnaire de packages Polytech| Gestion des images systèmes pour les supports à Polytech Grenoble]]<br />
* 13:00-13:40 [[Réalité virtuelle et Augmentée pour la maintenance d'usines]] <br />
* 13:45-14:25 [[RealTimeSubtitle - 2016/17 - RICM5| Sous-titre d'un cours en temps réel]] <br />
* 14:30-15:10 [[CoCass|CoCass : CaaS Docker collaboratif]]<br />
* 15:15-15:55 [[Suggestion_intelligente_de_films_basée_sur_TensorFlow | Suggestion intelligente de films basée sur TensorFlow]] <br />
* 16:00-16:30 [[Contributions à RIOT OS]] autour de [[LoRa]] <br />
<br />
* Pot d' "Au Revoir" (16:45-18:30 à la Kfet de Polytech)<br />
<br />
Instructions:<br />
*Chaque soutenance comporte 15 minutes de présentation, 15 minutes de démonstration et 10 minutes de questions. Un transparent doit être consacré au travail confié et réalisé par les étudiants en DUT (AVOSTI).<br />
* Répétez plusieurs fois votre présentation et votre démonstration.<br />
* L'ensemble des documents (y compris photos, vidéos et ''[[Logiciels#Screencast|screencast]]s'') doivent être accessibles depuis le tableau ci-dessous et dans chaque fiche de suivi. Prévoyez une copie sur clé USB.<br />
* Les étudiants de DUT vous accompagnent lors de votre soutenance.<br />
* '''TOUT Le matériel prêté devra être rapporté et restitué dans un sac cabas lors de la soutenance.'''<br />
<br />
====Séances Suivi:====<br />
* Lundi 30/01 - 08:00-11:00<br />
* Mardi 31/01 - 10:00-12:00<br />
* Lundi 06/02 - 08:00-10:00<br />
* Lundi 13/02 - 08:00-10:00<br />
* Lundi 27/02 - 08:00-10:00<br />
* Lundi 06/03 - 08:00-10:00<br />
* Lundi 13/03 - 08:00-09:45<br />
<br />
====Séances MPI:====<br />
* Jeudi 26 janvier matin (Stéphanie Diligent)<br />
* Jeudi 2 février matin (Stéphanie Diligent)<br />
* Lundi 6 février matin (Emmanuelle Tréhoust)<br />
* Mardi 14 février matin (Emmanuelle Tréhoust)<br />
* Lundi 6 mars après midi (Stéphanie Diligent et Emmanuelle Tréhoust)<br />
<br />
<br />
====Bonus track====<br />
Remarque: [http://snowcamp.io/2017/fr/welcome Netbeans Days 2017], 7 Février 2017, Bâtiment IMAG. Pensez à vous inscrire!<br />
<br />
Remarque: [https://wiki.eclipse.org/Eclipse_IoT_Day_Grenoble_2017 Eclipse IoT Days 2017], 9-10 Mars 2017, Bâtiment IMAG. Pensez à vous inscrire!<br />
<br />
=Année à définir=<br />
<br />
* [[Non linear MKV Editor]] : Nicolas Palix<br />
* [[Smart campus augmenté et contributif]]<br />
* [[Intégration OpenHAB / OpenTele]]<br />
* [[Client MQTT pour OBD]] sur Android<br />
* [[Sommeilomètre]] (Michael Perin, Didier Donsez)<br />
* [[Open DynDNS]]<br />
* [[IllumiRoom]]<br />
* [[Emergency mobile app]] Dvp Android. Nicolas Palix pour TIS, PRI et RICM<br />
* [[Kodi Reflexive Remote]] Dynamic remote control for Kodi. Nicolas Palix.<br />
* [http://intgat.tigress.co.uk/rmy/uml/index.html Zerofree] Portage de zerofree pour d'autres systèmes de fichiers que ext2/3/4 (notamment Unix FS). Voir également la page [http://packages.qa.debian.org/z/zerofree.html QA de Debian]. Nicolas Palix.<br />
* [[Bracelet électronique de monitoriing de l'alcoolémie]]<br />
* [[Oxymètre DIY]]<br />
* [[PinSound]]<br />
* [[Extension du support STM32Fx-Discovery dans libopencm3]] : Olivier Richard<br />
* [[Arduino et libopencm3]] : Olivier Richard<br />
* [[Data Acquisition System et Stm32f4-Discovery]] : Olivier Richard<br />
* [[Distributed Data Storage System]] : Olivier Richard<br />
* [[Dashboard based on w2ui]]<br />
* [[Environnement logiciel pour FabLab]] : Olivier Richard<br />
* [[Environnement logiciel pour le Live Programming]] : Olivier Richard<br />
* [[VirtualPinball]]<br />
* Tondeuse dessinatrice<br />
* [[ImmersiveDog]] Nicolas Glade, Didier Donsez<br />
* Projet avec [[OpenROV]] ???? : Didier Donsez<br />
* [[Sphero]] malin (Michael Périn) (2 etudiants)<br />
* [[Drone paramoteur]] ???<br />
* [[Optimisation de l'énergie pour cyclotouriste électrique]]<br />
* [[SmartSelfService|Smart Self-Service 2015]] Didier Donsez & Vivien Quema<br />
* [[Station Météo LoRa]] : contribution au projet [[LoRA-Fabian]] (Didier Donsez)<br />
<br />
=Réserve (boite à idées)=<br />
<br />
# [[Tag et Paint Ball en réalité augmentée]] (Michaël Périn) <br />
# [[Passe moi ton fichier]] (Michaël Périn) <br />
# [[Extensions à Fab Server]] (Jean-Michel Molenaar) sous reserve (CM ou SR)<br />
# [[Table multijeux de café 2.0]]<br />
# [[ GPIO_Qemu_RasPI| Emulation des GPIO dans QEMU pour le carte Raspberry Pi]] (Olivier Richard)<br />
# [[ Qemu et STM32F0-Discovery ]] (Olivier Richard)<br />
# [[Serrure à clé MIDI multifactorielle]] (Didier Donsez)<br />
# [[Table interactive musicale]] (Didier Donsez)<br />
# [[iMailbox]] (Didier Donsez)<br />
# [[AmILight]] (eclairage d'ambience intelligent) (Didier Donsez)<br />
# [[PDAmeetPDA]] (synchronisation d'agenda) (Michaël Périn)<br />
# [[1 000 000 VMs]] (expérimentation d'application distribuée à très grande échelle) (Olivier Richard) (2-3 RICM4)<br />
# [[Multiple Kinect]] (utilisation simultanée de plusieurs Kinect) (Olivier Richard) (RICM ou 3I)<br />
# [[Kinect musicale]] (Didier Donsez) (RICM)<br />
# [[Ktechlab Simavr Arduino | Ktechlab et integration de Simavr(Arduino)]] (Olivier Richard) (2-3 RICM4-SR)<br />
# Ocaml on AVR (Arduino)<br />
# Ocaml on Cortex-M3<br />
# [[Arduino on STM32 Discovery]]<br />
# [[Reverse Geocache Puzzle Box]]<br />
# [[OSGi ME]] (Didier Donsez)<br />
# [[Affichage Etudiant à Polytech]]<br />
# Synthèse 3D + motion capture Kinect<br />
# Logiciel d'[[apprentissage du calcul]] sur tablette Android (reconnaissance de chiffres manuscrits)<br />
# Plancher de verre (saint gobain) à la [http://www.wat.tv/video/mickael-jackson-billie-jean-oewj_2ey2h_.html Mickael Jackson dans Billie Jean] ! woo<br />
# [[Ktechlab Simavr Arduino | Ktechlab et integration de Simavr(Arduino)]] (Olivier Richard) (2-3 RICM4-SR)<br />
# [[CNC]]<br />
# [[Idées en Vrac]]<br />
# Scheme Everywhere (Olivier Richard) (2-3 RICM4-SR)<br />
# [[Projet Station Météo]]<br />
# Ocaml on AVR (Arduino)<br />
# [[Table interactive musicale]] (Didier Donsez)<br />
# [[AmILight]] (eclairage d'amnbience intelligent) (Didier Donsez)<br />
# [[Cube pointeur]] d'activité ingénieur<br />
# [http://www.instructables.com/id/Puppeteer-Motion-Capture-Costume/ Puppeteer Motion-Capture Costume]<br />
# [[Musical Staircase]] @ Polytech (Didier Donsez, 1 RICM4 + 1 3I4)<br />
# [[Total Recall]] (Didier Donsez)<br />
# [[SoundMachine]]<br />
# [[IGN-OSM|Importation de données IGN publiques dans OSM]]<br />
# [[Speed-limit-OSM|Analyse de traces GPX pour déterminer les limitations de vitesse]]<br />
# [[Multi perceptual cameras]] (Didier Donsez)<br />
# [[Photomaton 3D]] (Didier Donsez)<br />
# [[ArduCopter]]<br />
# [[Parking Intelligent]]</div>
Clement.Rouquier
https://air.imag.fr/index.php?title=Projets_2016-2017&diff=34158
Projets 2016-2017
2017-03-06T08:30:17Z
<p>Clement.Rouquier: /* Projet Semestre S8 */</p>
<hr />
<div><<[[Projets 2015-2016]] | [[Projets]] | [[Projets 2017-2018]]>><br />
=RICM=<br />
==RICM3==<br />
<br />
==RICM4==<br />
===Projet Semestre S8===<br />
<br />
Enseignants responsables : Olivier Richard, Didier Donsez<br />
<br />
Dates : Lundi 9/01/2017 au 29/03/2017<br />
Lancement: 9/01/2017 après-midi<br />
Soutenance: le 3/04/2017 matin et après-midi<br />
Soutenance à mi-parcours: A définir<br />
<br />
* '''Evaluation à mi-parcours le lundi/mardi ???''': Format: 10min (5min de présentation 3 slides au plus, 5min de discussion). Cette évaluation sera prise en compte dans la note finale.<br />
<br />
'''Consignes générales:'''<br />
<br />
* '''Vous devez être pro-actifs !!!''': Si des points sont pas ou mals spécifiés, vous le faîtes et vous justifiez vos choix. Pour les problèmes techniques éventuels vous pouvez: creuser la question, contacter l'auteur du code si il y a lieu, écrire un rapport de bug ('''Attention:''' ca se prépare !), soumettre un patch/pull request, contacter l'enseignant ou la personne référente du projet.<br />
<br />
* '''Vous devez maintenir une fiche de suivi de projet''': elle doit être mise à jour chaque semaine, elle rassemble les élements essentiels du projet, elle <br />
indique les évolutions du projet et présente sa feuille de route. '''Note:''' le nom de la fiche doit être composé du nom du projet et suffixé par ricm4_2015_2016. '''Cette fiche compte pour la note finale'''<br />
<br />
* '''Vous devez utiliser un logiciel de gestion de version''' pour vos développements comme [http://en.wikipedia.org/wiki/Git_%28software%29 git ] et nous vous conseillons d'utiliser le site [https://github.com github] pour l'hébergement de votre dépôt public.<br />
<br />
* Les document public (exemple sur github) doivent être rédigés en anglais (README, documentation, commentaires de code, nom de variables et de fonctions). Une bonnification sera accordée si le rapport et les transparents sont en anglais (la soutenance sera en francais).<br />
<br />
{|class="wikitable alternance"<br />
|+ Affectation des projets RICM4 2016-2017<br />
|-<br />
|<br />
!scope="col"| Sujet<br />
!scope="col"| Etudiants<br />
!scope="col"| Enseignant(s)<br />
!scope="col"| Fiche de suivi<br />
!scope="col"| Dépot git<br />
|-<br />
<br />
!scope="row"| 1<br />
| [[Ruche connectée LoRa]] <br />
| MOREAU, LESAGE, <br />
| Palix, Richard<br />
| [[RICM4_2016_2017_-_Ruche_Connectee| Fiche]] - [[RICM4_2016_2017_-_Ruche_Connectee_/_SRS|SRS]]<br />
| [https://github.com/ github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides1.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:PresentationMiParcours_Ruche.pdf|Presentation]]<br />
|-<br />
<br />
<br />
!scope="row"| 2<br />
| [[Serres connectées]]<br />
| BOISADAM, DALLE<br />
| Palix<br />
| [[Projets-2016-2017-Serres_connectées| Fiche]] - [[Projet-2016-2017-Serres_connectées_-_SRS| SRS]]<br />
| [https://github.com/igreenhouse github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:Presentation_-_mi-projet_-_serre-connectee-2017.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 3<br />
| [[I-Greenhouse]] : [[Serre connectée aquaponie]]<br />
| MARCHAND, PELLICER<br />
| Palix, Donsez<br />
| [[Projets-2016-2017-I-Greenhouse : Serre connectée aquaponie | Fiche]] - [[Projets-2015-2016-I-Greenhouse : Serre connectée aquaponie/UML_Diagrams | UML]] - [[Projets-2015-2016-I-Greenhouse : Serre connectée aquaponie/SRS | SRS]]<br />
| [https://github.com/igreenhouse github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides1.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentationMiParcours_igreenhouse.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 4<br />
| [[Station de pompage connectée]]<br />
| FERNANDES, CHEVALIER, FU <br />
| Palix, Donsez, Richard<br />
| [[Projets-2016-2017-Station de pompage connectée| Fiche]] - [[Projets-2016-2017-Station de pompage connectée - SRS| SRS]] - [[Projets-2016-2017-Station de pompage connectée - UML| UML]]<br />
| [https://github.com/ github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 5<br />
| Géolocation Indoor basée sur les [[Beacon]]s BLE <br />
| COCHINHO, GAMBRO<br />
| Donsez<br />
| [[Projets-2016-2017-IndoorGeoloc| Fiche]] - [[Projets-2016-2017-IndoorGeoloc-UML | UML]] - [[Proj-2016-2017-IndoorGeoloc/SRS|SRS]]<br />
| [https://github.com/LouisCochinho/Geoloc_Indoor github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides1.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 6<br />
| [[Application de suivi de colis avec RFID UHF (EPC Global)]],<br />
| AMODRU-FAVIN, DELISE <br />
| Donsez<br />
| [[Projets-2016-2017-SuiviColisRFID| Fiche]] - [[Proj-2016-2017-ColisMatter/SRS|SRS]]<br />
| [https://github.com/delisea/ColisMatter github]]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides1.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 7<br />
| [[StartAIR 2017]]<br />
| ODIEVRE, CHAMBONNET<br />
| Palix<br />
| [[Projets-2016-2017-StartAir| Fiche]] - [[Projets-2016-2017-StartAir-UML| UML]] - [[Projets-2016-2017-StartAir-SRS| SRS]]<br />
| [https://github.com/s6mon/StartAir2017.git github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides1.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 8<br />
| [[SmartSelfService]] <br />
| ABONNENC, BONHOURE<br />
| Donsez<br />
| [[Projets-2016-2017-SmartSelfService| Fiche]] - [[Projets-2016-2017-SmartSelfService/SRS | SRS]] - [[Projets-2016-2017-SmartSelfService/UML | UML ]]<br />
| [https://github.com/RICM4SmartSelfService/RICM4_Projet_SmartSelfService github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:SmartSelfService_transparents.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 9<br />
| [[Interface de contrôle "Photo" pour OpenHAB]]<br />
| LACHARTRE, SAVARY <br />
| Donsez<br />
| [[Projets-2016-2017 - Interface de contrôle "Photo" pour OpenHAB| Fiche]]- [[Projets-2016-2017 - Interface de contrôle "Photo" pour OpenHAB/SRS| SRS]]<br />
| [https://github.com/ github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides1.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 10<br />
| [[UltraTeam|UltraTeam: Application Mobile pour les Ultra-trailers et les randonneurs]],<br />
| ROUQUIER, GEOURJON<br />
| Donsez<br />
| [[Projets-2016-2017-UltraTeamBest| Fiche]]- [[Projets-2016-2017-UltraTeamBest/SRS| SRS]]<br />
| [https://github.com/ultratrail github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:http://air.imag.fr/images/e/e0/UltraTEAM_Presentation_Mi_Projet.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 10<br />
| [[UltraTeam|UltraTeam: Application Mobile pour les Ultra-trailers et les randonneurs]],<br />
| GALLIER, FERRERA<br />
| Donsez<br />
| [[Projets-2016-2017-UltraTeam| Fiche]]- [[Projet-2016-2017-UltraTeam/SRS| SRS]] - [[Projet-2016-2017-UltraTeam/UML | UML ]]<br />
| [https://github.com/ultratrail github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:http://air.imag.fr/images/e/e0/UltraTEAM_Presentation_Mi_Projet.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 11<br />
| [[Plateforme d'analyse de données IoT]] <br />
| ALLARD, ROCHER<br />
| Palix, Richard<br />
| [[Projets-2016-2017-Plateform_Analyse_Données_IOT| Fiche]] [[Projets-2016-2017-Plateform_Analyse_Données_IOT/SRS| SRS]] [[Projets-2016-2017-Plateform_Analyse_Données_IOT/UML| UML]]<br />
| [https://github.com/ github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides1.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 13<br />
| [[IRock : Surveillance Géotechnique LoRa|iRock]]<br />
| SIEST, VEGREVILLE<br />
| Donsez<br />
| [[Projets-2016-2017-Projet_IRock| Fiche]]<br />
| [https://github.com/Shadsa/IRock github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides1.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 14<br />
| [[GrenobloisFuté]]<br />
| VIAL, GUERRY<br />
| Palix<br />
| [[Projets-2016-2017-| Fiche]]<br />
| [https://github.com/ github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides1.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 15<br />
| [[GeoDiff]]<br />
| AMAURIN, BECHER, BROCHIER<br />
| Palix<br />
| [[Projets-2016-2017-GeoDiff| Fiche]] - [[Projets-2016-2017-GeoDiff/SRS| SRS]] - [[Projets-2016-2017-GeoDiff/UML| UML]]<br />
| [https://github.com/Hbecher/GeoDiff github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides1.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 16<br />
| [[floatingimage UPnP feed]] <br />
| FUSTES, DEREYMEZ<br />
| Palix, Donsez<br />
| [[Projets-2016-2017-floatingimageUPnP | Fiche]] - [[Projets-2016-2017-floatingimageUPnP/SRS | SRS]] - [[Projets-2016-2017-floatingimageUPnP/UML | UML]]<br />
| [https://github.com/fustesr/floatingimage github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides1.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 17<br />
| Webconférence [[Google VR]]<br />
| RIVOAL, ZENNOUCHE <br />
| Donsez<br />
| [[Projets-2016-2017-VideoConference| Fiche]] - [[viseoconferenceUML| UML]]<br />
| [https://github.com/ github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides1.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:videoconference.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 18<br />
| [[NixOsTegraX1 | NixOS for Tegra X1]]<br />
| NASSIK, TURRIN<br />
| Richard<br />
| [[Projets-2016-2017-NixosTegraX1| Fiche]] - [[NixosTegraX1/SRS| SRS]]<br />
| [https://github.com/ github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:Nixos.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 20<br />
| [[ExperimentControl | Experiment Control]] <br />
| HOMBERG, LEMAIRE<br />
| Richard<br />
| [[Proj-2016-2017-ExperimentControl| Fiche]] - [[ExperimentControl/SRS| SRS]]<br />
| [https://github.com/ github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides1.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 23<br />
| Intégration de caméras UPnP dans [[OpenHAB]] <br />
| BLANC, LAW<br />
| Donsez<br />
| [[Projets-2016-2017-UPnP Cameras integration into OpenHAB | Fiche]] - [[Projets-2016-2017-UPnP Cameras integration into OpenHAB/SRS | SRS]]<br />
| [https://github.com/lawchris/openhab2-addons/tree/upnp-camera-binding github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides1.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:UpnpCamera BLANC LAW.pdf|Presentation mi_parcours]]<br />
|-<br />
<br />
|}<br />
<br />
'''Propositions de projets:'''<br />
<br />
# [[Ruche connectée LoRa]] (OpenHab) , Didier Donsez, Denis Jongmann, Olivier Richard<br />
# [[Serres connectées]] (OpenHab) Surveillance des serres d'une exploitation agricole. Nicolas Palix, Michaël Périn et Vincent Hibon ("Les jardins du Coteau").<br />
# [[I-Greenhouse]] : [[Serre connectée aquaponie]] (OpenHab). Nicolas Palix, Didier Donsez (2 groupes)<br />
# [[Station de pompage connectée]]. Nicolas Palix<br />
# Géolocation Indoor basée sur les [[Beacon]]s BLE (iBeacon, AltBeacon, Eddystone). Utilisation d'algorithmes de trigonalisation ([https://github.com/jpias/beacon-pfilter-simulation/wiki lien]), (Didier Donsez, Vivien Quéma)<br />
# [[Application de suivi de colis avec RFID UHF (EPC Global)]], Didier Donsez<br />
# Projet [[StartAIR 2017]] : interface tablette de tableau de bord d'ULM, fiabilisation du réflecteur Flight Simulator (Fabrice Dubois, Nicolas Palix)<br />
# [[SmartSelfService]] (Didier Donsez, François Portet) en collaboration avec PHELMA.<br />
# [[Interface de contrôle "Photo"]] pour [[OpenHAB]] : éventuelle contribution à la fondation Eclipse (Didier Donsez)<br />
# [[UltraTeam|UltraTeam: Application Mobile pour les Ultra-trailers et les randonneurs]] (Didier Donsez, Vivien Quéma)<br />
# [[Plateforme d'analyse de données IoT]] (Nicolas Palix)<br />
# Extension de [[Swagger]] pour [[CoAP]] : Application avec [[Californium]] (Contribution à une communauté open-source), (Didier Donsez)<br />
# [[IRock : Surveillance Géotechnique LoRa|iRock]]: Plateforme Ubilitics pour la surveillance des risques naturelles (déploiement grande échelle de capteurs [[LoRa]] sur le terrain pour l'observation de glissement de terrain) en commun avec Geotech (à confirmer) : Didier Donsez, Sandrine Caroly, Denis Jongmans.<br />
# [[GrenobloisFuté]] Couche trafic sur OsmAnd avec un greffon. Données dynamique de la métro. Dvp Android. Nicolas Palix.<br />
# [[GeoDiff]] Production, visualisation, fusion de variations (diff) sur de l'information géocodée : Nicolas Palix (Multimédia)<br />
# [[floatingimage UPnP feed]] Cadre photos connecté à Kodi. Dvp Android. Nicolas Palix, Didier Donsez<br />
# Webconférence WebRTC stereoscopique avec [[Google VR]] SDK for Android (Jérôme Maisonnasse, Didier Donsez)<br />
# [[NixOsTegraX1 | NixOS for Tegra X1]]: (Olivier Richard)<br />
# [[LittleJump | Little Jump]]: Inventer un blablacar pour les petits trajets (Olivier Richard)<br />
# [[ExperimentControl | Experiment Control]] Développer un moteur de conduite d'expérience pour les systèmes distribués (Olivier Richard) <br />
# [[CrystalLanguageMicrocontroller | Crystal Language for Microcontroller]] (Olivier Richard)<br />
# Questionnaires automatiques, (Pierre Gillois, Didier Donsez)<br />
# Intégration de caméras UPnP dans [[OpenHAB]] (Didier Donsez)<br />
Moins prioritaires:<br />
# [[OwnPOI]] ownCloud plugin and osmand plugin to share POI and favorite positions. Dvp Android. Nicolas Palix.<br />
# [[OwnList]] ownCloud plugin and Android app to share a TODO list. Nicolas Palix.<br />
# [[Osmand-Auto]] Support Android Auto sur [[OsmAnd]] Nicolas Palix,<br />
# [[OCR de composition d'étiquettes alimentaires pour la base Open Food Facts]] (Nicolas Palix, Didier Donsez)<br />
Sous réserve de matériel<br />
# Reconstruction 3D d'images thermiques provenant des réseaux de caméras thermiques [[Flir One]] : application au sport connecté(Didier DONSEZ)<br />
# Géolocation Indoor basée sur [[Decaware]]. Utilisation d'algorithmes de trigonalisation ([https://github.com/jpias/beacon-pfilter-simulation/wiki lien]), (Didier Donsez, Vivien Quéma)<br />
<br />
==RICM5==<br />
===Projet Semestre S10===<br />
<br />
Enseignants responsables : Didier Donsez<br />
<br />
====Calendrier====<br />
<br />
le projet commence le 23/01 et se termine le 17/03.<br />
<br />
Réunion de présentation : 23/01 à 8H00 (RdV Salle AIR).<br />
<br />
Soutenance à mi-parcours : Date: Vendredi 17/02 de 08:00-11:00 (Salle P257)<br />
<br />
Soutenance (puis Pot de la fin): A DEFINIR (Provisoirement le 16/03 après-midi)<br />
<br />
====Projet====<br />
<br />
<br />
<br />
{|class="wikitable alternance"<br />
|+ Affectation des projets RICM5 2016-2017<br />
|-<br />
|<br />
!scope="col"| Sujet<br />
!scope="col"| Etudiants<br />
!scope="col"| Enseignant(s)<br />
!scope="col"| Fiche de suivi<br />
!scope="col"| Dépot git<br />
!scope="col"| Supports<br />
|-<br />
<br />
!scope="row"| 1<br />
| [[RealTimeSubtitle - 2016/17 - RICM5| Sous-titre d'un cours en temps réel]] <br />
| BRUEL, BUI, LECHEVALLIER, MATHIEU, MOURET, <br />
| Laurent Besacier, Didier Donsez, Marie-Paule Balicco, Jérôme Maisonnasse<br />
| [[RealTimeSubtitle - 2016/17 - RICM5| Fiche]] - [[RICM5_2016_2017_-_RealTimeSubtitle/SRS|SRS]]<br />
| [https://gitlab.com/annaBanana/RealTimeSubtitles github]<br />
| [[Media:slideRealTimeSubtitle2017s.pdf|Présentation intermédiare]] - [[Media:presentationRealTimeSubtitle2017.pdf|Presentation finale]] - Video - Photos<br />
|-<br />
<br />
!scope="row"| 2<br />
| [[Réalité virtuelle et Augmentée pour la maintenance d'usines]] <br />
| BERTRAND-DALECHAMPS, POPEK, ZAHO, SUN, NDIAYE, HAMMOUTI, <br />
| Didier Donsez, Georges-Pierre Bonneau<br />
| [[RVA_Fiche_de_suivi | Fiche de suivi]] - [[RVA_Analyse_des_besoins|Analyse des besoins]]<br />
| [https://github.com/ github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:RVA_PresentationConception.pdf|Presentation intermédiaire]] - [[Media:presentation.pdf|Presentation]] - Video - Photos<br />
|-<br />
<br />
!scope="row"| 3<br />
| [[CoCass|CoCass : CaaS Docker collaboratif]] <br />
| ARRADA, FAURE, FOUNAS, HALLAL, MEDEWOU, VOUTAT, <br />
| Didier Donsez<br />
| [[Fiche de suivi - CoCass|Fiche]] - [[SRS-CoCass|SRS]]<br />
| [https://github.com/CoCaas/ github]<br />
| [[Media:test.pdf|Rapport MPI]] - [https://docs.google.com/presentation/d/10nwRHcUiLSjD7otbTfsswkDlIWpb3ddvc19HUSlrKvg/edit?usp=sharing Presentation intermédiaire] - [[Media:presentation.pdf|Presentation finale]]<br />
|-<br />
<br />
<br />
!scope="row"| 4<br />
| [[Projet 2017 : Gestionnaire de packages Polytech| Gestion des images systèmes pour les supports à Polytech Grenoble]] <br />
| GATTAZ, LECORPS, NOUGUIER, RAMEL, <br />
| Didier Donsez<br />
| [[Fiche de suivi - Gestionnaire de packages| Fiche]] - [[SRS - Gestionnaire de packages|SRS]]<br />
| [https://github.com/Packebian github]<br />
| [[Media:PackagesPresentationConception.pdf|Presentation intermédiaire]] - [[Media:PackagesPresentationFinale.pdf| Présentation finale]]<br />
|-<br />
<br />
<br />
!scope="row"| 5<br />
| [[Suggestion_intelligente_de_films_basée_sur_TensorFlow | Suggestion intelligente de films basée sur TensorFlow]] <br />
| DUNAND, HATTINGUAIS, NAVARRO, NIOGRET, RACHEX, <br />
| Didier Donsez<br />
| [[Fiche_de_suivi_-_Recommandation_intelligente_de_films| Fiche]] - [[SRS_-_Recommandation_intelligente_de_films|SRS]]<br />
| [https://github.com/DeepLearningMoviesProject github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:presentation.pdf|Presentation intermédiaire]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 6<br />
| [[Projet Startup]] <br />
| LUCIDARME, DELAPORTE, <br />
| Didier Donsez<br />
| [[RICM5_2016_2017_-_Startup| Fiche]] - [[RICM5_2016_2017_-_Startup/SRS|SRS]]<br />
| [https://github.com/ github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation intermédiaire]] - [[Media:presentation.pdf|Presentation]] - Video - Photos<br />
|-<br />
<br />
<br />
!scope="row"| 7<br />
| [[Contributions à RIOT OS]] autour de [[LoRa]] <br />
| Taquyeddine ZEGAOUI, <br />
| Didier Donsez<br />
| [[RICM5_2016_2017_-_RIOTOSLoRa| Fiche]] - [[RICM5_2016_2017_-_RIOTOSLoRa/SRS|SRS]]<br />
| [https://github.com/ github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation intermédiaire]] - [[Media:presentation.pdf|Presentation]] - Video - Photos<br />
|-<br />
<br />
|}<br />
<br />
<br />
Projets non choisi:<br />
# Borne d'accueil handicap : Didier Donsez, Marie-Paule Balicco, Jérôme Maisonnasse<br />
# [[Plateforme IoT du LIG basé sur Walt]] : Bernard Tourancheau, Franck Rousseau, Etienne Dublé<br />
<br />
====Soutenance à mi-parcours====<br />
Date: Vendredi 17/02 de 08:00-11:00 (Salle P257)<br />
# 08H00-08H25: [[RealTimeSubtitle - 2016/17 - RICM5| Sous-titre d'un cours en temps réel]]<br />
# 08H25-08H50: [[Réalité virtuelle et Augmentée pour la maintenance d'usines]] (avec [[Unity 3D]] et [[Google VR]] SDK for Android, caméra Flir One, [[WebRTC]])<br />
# 08H50-09H15: [[CoCass|CoCass : CaaS Docker collaboratif]] : Didier Donsez (ARRADA, FAURE, FOUNAS, HALLAL, MEDEWOU, VOUTAT)<br />
# 09H15-09H40: [[Projet 2017 : Gestionnaire de packages Polytech| Gestion des images systèmes pour les supports à Polytech Grenoble]]<br />
# 09H40-10H05: [[Suggestion_intelligente_de_films_basée_sur_TensorFlow | Suggestion intelligente de films basée sur TensorFlow]]<br />
# 10H05-10H30: Projet Startup<br />
# 10H30-11H00:[[Contributions à RIOT OS]] autour de [[LoRa]]<br />
<br />
Instructions:<br />
* 10 minutes de présentation + démonstration.<br />
* 10 minutes de questions<br />
<br />
(7 transparents maximum pour résumer l'organisation et l'avancement du projet)<br />
<br />
====Soutenance (puis Pot de la fin)====<br />
Le 16/03 en P129 le matin et P007 l'après-midi<br />
<br />
* 10:00-10:40 [[Projet Startup]]<br />
* 10:45-11:25 [[Projet 2017 : Gestionnaire de packages Polytech| Gestion des images systèmes pour les supports à Polytech Grenoble]]<br />
* 13:00-13:40 [[Réalité virtuelle et Augmentée pour la maintenance d'usines]] <br />
* 13:45-14:25 [[RealTimeSubtitle - 2016/17 - RICM5| Sous-titre d'un cours en temps réel]] <br />
* 14:30-15:10 [[CoCass|CoCass : CaaS Docker collaboratif]]<br />
* 15:15-15:55 [[Suggestion_intelligente_de_films_basée_sur_TensorFlow | Suggestion intelligente de films basée sur TensorFlow]] <br />
* 16:00-16:30 [[Contributions à RIOT OS]] autour de [[LoRa]] <br />
<br />
* Pot d' "Au Revoir" (16:45-18:30 à la Kfet de Polytech)<br />
<br />
Instructions:<br />
*Chaque soutenance comporte 15 minutes de présentation, 15 minutes de démonstration et 10 minutes de questions. Un transparent doit être consacré au travail confié et réalisé par les étudiants en DUT (AVOSTI).<br />
* Répétez plusieurs fois votre présentation et votre démonstration.<br />
* L'ensemble des documents (y compris photos, vidéos et ''[[Logiciels#Screencast|screencast]]s'') doivent être accessibles depuis le tableau ci-dessous et dans chaque fiche de suivi. Prévoyez une copie sur clé USB.<br />
* Les étudiants de DUT vous accompagnent lors de votre soutenance.<br />
* '''TOUT Le matériel prêté devra être rapporté et restitué dans un sac cabas lors de la soutenance.'''<br />
<br />
====Séances Suivi:====<br />
* Lundi 30/01 - 08:00-11:00<br />
* Mardi 31/01 - 10:00-12:00<br />
* Lundi 06/02 - 08:00-10:00<br />
* Lundi 13/02 - 08:00-10:00<br />
* Lundi 27/02 - 08:00-10:00<br />
* Lundi 06/03 - 08:00-10:00<br />
* Lundi 13/03 - 08:00-09:45<br />
<br />
====Séances MPI:====<br />
* Jeudi 26 janvier matin (Stéphanie Diligent)<br />
* Jeudi 2 février matin (Stéphanie Diligent)<br />
* Lundi 6 février matin (Emmanuelle Tréhoust)<br />
* Mardi 14 février matin (Emmanuelle Tréhoust)<br />
* Lundi 6 mars après midi (Stéphanie Diligent et Emmanuelle Tréhoust)<br />
<br />
<br />
====Bonus track====<br />
Remarque: [http://snowcamp.io/2017/fr/welcome Netbeans Days 2017], 7 Février 2017, Bâtiment IMAG. Pensez à vous inscrire!<br />
<br />
Remarque: [https://wiki.eclipse.org/Eclipse_IoT_Day_Grenoble_2017 Eclipse IoT Days 2017], 9-10 Mars 2017, Bâtiment IMAG. Pensez à vous inscrire!<br />
<br />
=Année à définir=<br />
<br />
* [[Non linear MKV Editor]] : Nicolas Palix<br />
* [[Smart campus augmenté et contributif]]<br />
* [[Intégration OpenHAB / OpenTele]]<br />
* [[Client MQTT pour OBD]] sur Android<br />
* [[Sommeilomètre]] (Michael Perin, Didier Donsez)<br />
* [[Open DynDNS]]<br />
* [[IllumiRoom]]<br />
* [[Emergency mobile app]] Dvp Android. Nicolas Palix pour TIS, PRI et RICM<br />
* [[Kodi Reflexive Remote]] Dynamic remote control for Kodi. Nicolas Palix.<br />
* [http://intgat.tigress.co.uk/rmy/uml/index.html Zerofree] Portage de zerofree pour d'autres systèmes de fichiers que ext2/3/4 (notamment Unix FS). Voir également la page [http://packages.qa.debian.org/z/zerofree.html QA de Debian]. Nicolas Palix.<br />
* [[Bracelet électronique de monitoriing de l'alcoolémie]]<br />
* [[Oxymètre DIY]]<br />
* [[PinSound]]<br />
* [[Extension du support STM32Fx-Discovery dans libopencm3]] : Olivier Richard<br />
* [[Arduino et libopencm3]] : Olivier Richard<br />
* [[Data Acquisition System et Stm32f4-Discovery]] : Olivier Richard<br />
* [[Distributed Data Storage System]] : Olivier Richard<br />
* [[Dashboard based on w2ui]]<br />
* [[Environnement logiciel pour FabLab]] : Olivier Richard<br />
* [[Environnement logiciel pour le Live Programming]] : Olivier Richard<br />
* [[VirtualPinball]]<br />
* Tondeuse dessinatrice<br />
* [[ImmersiveDog]] Nicolas Glade, Didier Donsez<br />
* Projet avec [[OpenROV]] ???? : Didier Donsez<br />
* [[Sphero]] malin (Michael Périn) (2 etudiants)<br />
* [[Drone paramoteur]] ???<br />
* [[Optimisation de l'énergie pour cyclotouriste électrique]]<br />
* [[SmartSelfService|Smart Self-Service 2015]] Didier Donsez & Vivien Quema<br />
* [[Station Météo LoRa]] : contribution au projet [[LoRA-Fabian]] (Didier Donsez)<br />
<br />
=Réserve (boite à idées)=<br />
<br />
# [[Tag et Paint Ball en réalité augmentée]] (Michaël Périn) <br />
# [[Passe moi ton fichier]] (Michaël Périn) <br />
# [[Extensions à Fab Server]] (Jean-Michel Molenaar) sous reserve (CM ou SR)<br />
# [[Table multijeux de café 2.0]]<br />
# [[ GPIO_Qemu_RasPI| Emulation des GPIO dans QEMU pour le carte Raspberry Pi]] (Olivier Richard)<br />
# [[ Qemu et STM32F0-Discovery ]] (Olivier Richard)<br />
# [[Serrure à clé MIDI multifactorielle]] (Didier Donsez)<br />
# [[Table interactive musicale]] (Didier Donsez)<br />
# [[iMailbox]] (Didier Donsez)<br />
# [[AmILight]] (eclairage d'ambience intelligent) (Didier Donsez)<br />
# [[PDAmeetPDA]] (synchronisation d'agenda) (Michaël Périn)<br />
# [[1 000 000 VMs]] (expérimentation d'application distribuée à très grande échelle) (Olivier Richard) (2-3 RICM4)<br />
# [[Multiple Kinect]] (utilisation simultanée de plusieurs Kinect) (Olivier Richard) (RICM ou 3I)<br />
# [[Kinect musicale]] (Didier Donsez) (RICM)<br />
# [[Ktechlab Simavr Arduino | Ktechlab et integration de Simavr(Arduino)]] (Olivier Richard) (2-3 RICM4-SR)<br />
# Ocaml on AVR (Arduino)<br />
# Ocaml on Cortex-M3<br />
# [[Arduino on STM32 Discovery]]<br />
# [[Reverse Geocache Puzzle Box]]<br />
# [[OSGi ME]] (Didier Donsez)<br />
# [[Affichage Etudiant à Polytech]]<br />
# Synthèse 3D + motion capture Kinect<br />
# Logiciel d'[[apprentissage du calcul]] sur tablette Android (reconnaissance de chiffres manuscrits)<br />
# Plancher de verre (saint gobain) à la [http://www.wat.tv/video/mickael-jackson-billie-jean-oewj_2ey2h_.html Mickael Jackson dans Billie Jean] ! woo<br />
# [[Ktechlab Simavr Arduino | Ktechlab et integration de Simavr(Arduino)]] (Olivier Richard) (2-3 RICM4-SR)<br />
# [[CNC]]<br />
# [[Idées en Vrac]]<br />
# Scheme Everywhere (Olivier Richard) (2-3 RICM4-SR)<br />
# [[Projet Station Météo]]<br />
# Ocaml on AVR (Arduino)<br />
# [[Table interactive musicale]] (Didier Donsez)<br />
# [[AmILight]] (eclairage d'amnbience intelligent) (Didier Donsez)<br />
# [[Cube pointeur]] d'activité ingénieur<br />
# [http://www.instructables.com/id/Puppeteer-Motion-Capture-Costume/ Puppeteer Motion-Capture Costume]<br />
# [[Musical Staircase]] @ Polytech (Didier Donsez, 1 RICM4 + 1 3I4)<br />
# [[Total Recall]] (Didier Donsez)<br />
# [[SoundMachine]]<br />
# [[IGN-OSM|Importation de données IGN publiques dans OSM]]<br />
# [[Speed-limit-OSM|Analyse de traces GPX pour déterminer les limitations de vitesse]]<br />
# [[Multi perceptual cameras]] (Didier Donsez)<br />
# [[Photomaton 3D]] (Didier Donsez)<br />
# [[ArduCopter]]<br />
# [[Parking Intelligent]]</div>
Clement.Rouquier
https://air.imag.fr/index.php?title=File:UltraTEAM_Presentation_Mi_Projet.pdf&diff=34157
File:UltraTEAM Presentation Mi Projet.pdf
2017-03-06T08:28:53Z
<p>Clement.Rouquier: UltraTEAM_Presentation_Mi_Projet.pdf</p>
<hr />
<div>UltraTEAM_Presentation_Mi_Projet.pdf</div>
Clement.Rouquier
https://air.imag.fr/index.php?title=Projets-2016-2017-StartAir&diff=33508
Projets-2016-2017-StartAir
2017-02-06T14:18:12Z
<p>Clement.Rouquier: Created page with "kakallala"</p>
<hr />
<div>kakallala</div>
Clement.Rouquier
https://air.imag.fr/index.php?title=Projets_2016-2017&diff=33507
Projets 2016-2017
2017-02-06T14:17:55Z
<p>Clement.Rouquier: </p>
<hr />
<div><<[[Projets 2015-2016]] | [[Projets]] | [[Projets 2017-2018]]>><br />
=RICM=<br />
==RICM3==<br />
<br />
==RICM4==<br />
===Projet Semestre S8===<br />
<br />
Enseignants responsables : Olivier Richard, Didier Donsez<br />
<br />
Dates : Lundi 9/01/2017 au 29/03/2017<br />
Lancement: 9/01/2017 après-midi<br />
Soutenance: le 3/04/2017 matin et après-midi<br />
Soutenance à mi-parcours: A définir<br />
<br />
* '''Evaluation à mi-parcours le lundi/mardi ???''': Format: 10min (5min de présentation 3 slides au plus, 5min de discussion). Cette évaluation sera prise en compte dans la note finale.<br />
<br />
'''Consignes générales:'''<br />
<br />
* '''Vous devez être pro-actifs !!!''': Si des points sont pas ou mals spécifiés, vous le faîtes et vous justifiez vos choix. Pour les problèmes techniques éventuels vous pouvez: creuser la question, contacter l'auteur du code si il y a lieu, écrire un rapport de bug ('''Attention:''' ca se prépare !), soumettre un patch/pull request, contacter l'enseignant ou la personne référente du projet.<br />
<br />
* '''Vous devez maintenir une fiche de suivi de projet''': elle doit être mise à jour chaque semaine, elle rassemble les élements essentiels du projet, elle <br />
indique les évolutions du projet et présente sa feuille de route. '''Note:''' le nom de la fiche doit être composé du nom du projet et suffixé par ricm4_2015_2016. '''Cette fiche compte pour la note finale'''<br />
<br />
* '''Vous devez utiliser un logiciel de gestion de version''' pour vos développements comme [http://en.wikipedia.org/wiki/Git_%28software%29 git ] et nous vous conseillons d'utiliser le site [https://github.com github] pour l'hébergement de votre dépôt public.<br />
<br />
* Les document public (exemple sur github) doivent être rédigés en anglais (README, documentation, commentaires de code, nom de variables et de fonctions). Une bonnification sera accordée si le rapport et les transparents sont en anglais (la soutenance sera en francais).<br />
<br />
{|class="wikitable alternance"<br />
|+ Affectation des projets RICM4 2016-2017<br />
|-<br />
|<br />
!scope="col"| Sujet<br />
!scope="col"| Etudiants<br />
!scope="col"| Enseignant(s)<br />
!scope="col"| Fiche de suivi<br />
!scope="col"| Dépot git<br />
|-<br />
<br />
!scope="row"| 1<br />
| [[Ruche connectée LoRa]] <br />
| MOREAU, LESAGE, <br />
| Palix, Richard<br />
| [[RICM4_2016_2017_-_Ruche_Connectee| '''Fiche''']] - [[RICM4_2016_2017_-_Ruche_Connectee_/_SRS|'''SRS''']]<br />
| [https://github.com/ '''github''']<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
<br />
!scope="row"| 2<br />
| [[Serres connectées]]<br />
| BOISADAM, DALLE<br />
| Palix<br />
| [[Projets-2016-2017-Serres_connectées| '''Fiche''']] - [[Projet-2016-2017-Serres_connectées_-_SRS| '''SRS''']]<br />
| [https://github.com/igreenhouse '''github''']<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 3<br />
| [[I-Greenhouse]] : [[Serre connectée aquaponie]]<br />
| MARCHAND, PELLICER<br />
| Palix, Donsez<br />
| [[Projets-2016-2017-I-Greenhouse : Serre connectée aquaponie | '''Fiche''']] - [[Projets-2015-2016-I-Greenhouse : Serre connectée aquaponie/UML_Diagrams | '''UML''']]<br />
| [https://github.com/igreenhouse '''github''']<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 4<br />
| [[Station de pompage connectée]]<br />
| FERNANDES, CHEVALIER, FU <br />
| Palix, Donsez, Richard<br />
| [[Projets-2016-2017-Station de pompage connectée| '''Fiche''']] - [[Projets-2016-2017-Station de pompage connectée - SRS| '''SRS''']] - [[Projets-2016-2017-Station de pompage connectée - UML| '''UML''']]<br />
| [https://github.com/ '''github''']<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 5<br />
| Géolocation Indoor basée sur les [[Beacon]]s BLE <br />
| COCHINHO, GAMBRO<br />
| Donsez<br />
| [[Projets-2016-2017-IndoorGeoloc| '''Fiche''']] - [[Projets-2016-2017-IndoorGeoloc-UML | '''UML''']] - [[Proj-2016-2017-IndoorGeoloc/SRS|SRS]]<br />
| [https://github.com/LouisCochinho/Geoloc_Indoor '''github''']<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 6<br />
| [[Application de suivi de colis avec RFID UHF (EPC Global)]],<br />
| AMODRU-FAVIN, DELISE <br />
| Donsez<br />
| [[Projets-2016-2017-SuiviColisRFID| '''Fiche''']] - [[Proj-2016-2017-ColisMatter/SRS|SRS]]<br />
| [https://github.com/delisea/ColisMatter '''github''']]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 7<br />
| [[StartAIR 2017]]<br />
| ODIEVRE, CHAMBONNET<br />
| Palix<br />
| [[Projets-2016-2017-StartAir| '''Fiche''']] [[Projets-2016-2017-StartAir/SRS| '''SRS''']]<br />
| [https://github.com/s6mon/StartAir2017.git|Github]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 8<br />
| [[SmartSelfService]] <br />
| ABONNENC, BONHOURE<br />
| Donsez<br />
| [[Projets-2016-2017-SmartSelfService| '''Fiche''']] - [[Projets-2016-2017-SmartSelfService/SRS | '''SRS''']] - [[Projets-2016-2017-SmartSelfService/UML | '''UML''' ]]<br />
| [https://github.com/RICM4SmartSelfService/RICM4_Projet_SmartSelfService '''github''']<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 9<br />
| [[Interface de contrôle "Photo" pour OpenHAB]]<br />
| LACHARTRE, SAVARY <br />
| Donsez<br />
| [[Projets-2016-2017 - Interface de contrôle "Photo" pour OpenHAB| '''Fiche''']]- [[Projets-2016-2017 - Interface de contrôle "Photo" pour OpenHAB/SRS| '''SRS''']]<br />
| [https://github.com/ '''github''']<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 10<br />
| [[UltraTeam|UltraTeam: Application Mobile pour les Ultra-trailers et les randonneurs]],<br />
| ROUQUIER, GEOURJON<br />
| Donsez<br />
| [[Projets-2016-2017-UltraTeamBest| '''Fiche''']]- [[Projets-2016-2017-UltraTeamBest/SRS| '''SRS''']]<br />
| [https://github.com/ultratrail '''github''']<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 10<br />
| [[UltraTeam|UltraTeam: Application Mobile pour les Ultra-trailers et les randonneurs]],<br />
| GALLIER, FERRERA<br />
| Donsez<br />
| [[Projets-2016-2017-UltraTeam| '''Fiche''']]- [[Projet-2016-2017-UltraTeam/SRS| '''SRS''']] - [[Projet-2016-2017-UltraTeam/UML | '''UML''' ]]<br />
| [https://github.com/ultratrail '''github''']<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 11<br />
| [[Plateforme d'analyse de données IoT]] <br />
| ALLARD, ROCHER<br />
| Palix, Richard<br />
| [[Projets-2016-2017-Plateform_Analyse_Données_IOT| '''Fiche''']] [[Projets-2016-2017-Plateform_Analyse_Données_IOT/SRS| '''SRS''']] [[Projets-2016-2017-Plateform_Analyse_Données_IOT/UML| '''UML''']]<br />
| [https://github.com/ '''github''']<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 13<br />
| [[IRock : Surveillance Géotechnique LoRa|iRock]]<br />
| SIEST, VEGREVILLE<br />
| Donsez<br />
| [[Projets-2016-2017-Projet_IRock| '''Fiche''']]<br />
| [https://github.com/Shadsa/IRock '''github''']<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 14<br />
| [[GrenobloisFuté]]<br />
| VIAL, GUERRY<br />
| Palix<br />
| [[Projets-2016-2017-| '''Fiche''']]<br />
| [https://github.com/ '''github''']<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 15<br />
| [[GeoDiff]]<br />
| AMAURIN, BECHER, BROCHIER<br />
| Palix<br />
| [[Projets-2016-2017-GeoDiff| '''Fiche''']] - [[Projets-2016-2017-GeoDiff/SRS| '''SRS''']] - [[Projets-2016-2017-GeoDiff/UML| '''UML''']]<br />
| [https://github.com/Hbecher/GeoDiff '''github''']<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 16<br />
| [[floatingimage UPnP feed]] <br />
| FUSTES, DEREYMEZ<br />
| Palix, Donsez<br />
| [[Projets-2016-2017-floatingimageUPnP| '''Fiche''']] - [[Projets-2016-2017-floatingimageUPnP/SRS | '''SRS''']] - [[Projets-2016-2017-floatingimageUPnP/UML | '''UML''' ]]<br />
| [https://github.com/ '''github''']<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 17<br />
| Webconférence [[Google VR]]<br />
| RIVOAL, ZENNOUCHE <br />
| Donsez<br />
| [[Projets-2016-2017-VideoConference| '''Fiche''']] - [[Projets-2016-2017-UML| '''UML''']]<br />
| [https://github.com/ '''github''']<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 18<br />
| [[NixOsTegraX1 | NixOS for Tegra X1]]<br />
| NASSIK, TURRIN<br />
| Richard<br />
| [[Projets-2016-2017-NixosTegraX1| '''Fiche''']] - [[NixosTegraX1/SRS| '''SRS''']]<br />
| [https://github.com/ '''github''']<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 20<br />
| [[ExperimentControl | Experiment Control]] <br />
| HOMBERG, LEMAIRE<br />
| Richard<br />
| [[Proj-2016-2017-ExperimentControl| '''Fiche''']] - [[ExperimentControl/SRS| '''SRS''']]<br />
| [https://github.com/ '''github''']<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 23<br />
| Intégration de caméras UPnP dans [[OpenHAB]] <br />
| BLANC, LAW<br />
| Donsez<br />
| [[Projets-2016-2017-UPnP Cameras integration into OpenHAB | '''Fiche''']] - [[Projets-2016-2017-UPnP Cameras integration into OpenHAB/SRS | '''SRS''']]<br />
| [https://github.com/ '''github''']<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
|}<br />
<br />
'''Propositions de projets:'''<br />
<br />
# [[Ruche connectée LoRa]] (OpenHab) , Didier Donsez, Denis Jongmann, Olivier Richard<br />
# [[Serres connectées]] (OpenHab) Surveillance des serres d'une exploitation agricole. Nicolas Palix, Michaël Périn et Vincent Hibon ("Les jardins du Coteau").<br />
# [[I-Greenhouse]] : [[Serre connectée aquaponie]] (OpenHab). Nicolas Palix, Didier Donsez (2 groupes)<br />
# [[Station de pompage connectée]]. Nicolas Palix<br />
# Géolocation Indoor basée sur les [[Beacon]]s BLE (iBeacon, AltBeacon, Eddystone). Utilisation d'algorithmes de trigonalisation ([https://github.com/jpias/beacon-pfilter-simulation/wiki lien]), (Didier Donsez, Vivien Quéma)<br />
# [[Application de suivi de colis avec RFID UHF (EPC Global)]], Didier Donsez<br />
# Projet [[StartAIR 2017]] : interface tablette de tableau de bord d'ULM, fiabilisation du réflecteur Flight Simulator (Fabrice Dubois, Nicolas Palix)<br />
# [[SmartSelfService]] (Didier Donsez, François Portet) en collaboration avec PHELMA.<br />
# [[Interface de contrôle "Photo"]] pour [[OpenHAB]] : éventuelle contribution à la fondation Eclipse (Didier Donsez)<br />
# [[UltraTeam|UltraTeam: Application Mobile pour les Ultra-trailers et les randonneurs]] (Didier Donsez, Vivien Quéma)<br />
# [[Plateforme d'analyse de données IoT]] (Nicolas Palix)<br />
# Extension de [[Swagger]] pour [[CoAP]] : Application avec [[Californium]] (Contribution à une communauté open-source), (Didier Donsez)<br />
# [[IRock : Surveillance Géotechnique LoRa|iRock]]: Plateforme Ubilitics pour la surveillance des risques naturelles (déploiement grande échelle de capteurs [[LoRa]] sur le terrain pour l'observation de glissement de terrain) en commun avec Geotech (à confirmer) : Didier Donsez, Sandrine Caroly, Denis Jongmans.<br />
# [[GrenobloisFuté]] Couche trafic sur OsmAnd avec un greffon. Données dynamique de la métro. Dvp Android. Nicolas Palix.<br />
# [[GeoDiff]] Production, visualisation, fusion de variations (diff) sur de l'information géocodée : Nicolas Palix (Multimédia)<br />
# [[floatingimage UPnP feed]] Cadre photos connecté à Kodi. Dvp Android. Nicolas Palix, Didier Donsez<br />
# Webconférence WebRTC stereoscopique avec [[Google VR]] SDK for Android (Jérôme Maisonnasse, Didier Donsez)<br />
# [[NixOsTegraX1 | NixOS for Tegra X1]]: (Olivier Richard)<br />
# [[LittleJump | Little Jump]]: Inventer un blablacar pour les petits trajets (Olivier Richard)<br />
# [[ExperimentControl | Experiment Control]] Développer un moteur de conduite d'expérience pour les systèmes distribués (Olivier Richard) <br />
# [[CrystalLanguageMicrocontroller | Crystal Language for Microcontroller]] (Olivier Richard)<br />
# Questionnaires automatiques, (Pierre Gillois, Didier Donsez)<br />
# Intégration de caméras UPnP dans [[OpenHAB]] (Didier Donsez)<br />
Moins prioritaires:<br />
# [[OwnPOI]] ownCloud plugin and osmand plugin to share POI and favorite positions. Dvp Android. Nicolas Palix.<br />
# [[OwnList]] ownCloud plugin and Android app to share a TODO list. Nicolas Palix.<br />
# [[Osmand-Auto]] Support Android Auto sur [[OsmAnd]] Nicolas Palix,<br />
# [[OCR de composition d'étiquettes alimentaires pour la base Open Food Facts]] (Nicolas Palix, Didier Donsez)<br />
Sous réserve de matériel<br />
# Reconstruction 3D d'images thermiques provenant des réseaux de caméras thermiques [[Flir One]] : application au sport connecté(Didier DONSEZ)<br />
# Géolocation Indoor basée sur [[Decaware]]. Utilisation d'algorithmes de trigonalisation ([https://github.com/jpias/beacon-pfilter-simulation/wiki lien]), (Didier Donsez, Vivien Quéma)<br />
<br />
==RICM5==<br />
===Projet Semestre S10===<br />
<br />
Enseignants responsables : Didier Donsez<br />
<br />
Calendrier: le projet commence le 23/01 et se termine le 17/03.<br />
<br />
Réunion de présentation : 23/01 à 8H00 (RdV Salle AIR).<br />
<br />
Soutenance à mi-parcours : Vendredi 17/02 de 08:00-11:00 <br />
<br />
Soutenance (puis Pot de la fin) : A DEFINIR (Provisoirement le 16/03 après-midi)<br />
<br />
Séances Suivi:<br />
* Lundi 30/01 - 08:00-11:00<br />
* Mardi 31/01 - 10:00-12:00<br />
* Lundi 06/02 - 08:00-10:00<br />
* Lundi 13/02 - 08:00-10:00<br />
* Lundi 27/02 - 08:00-10:00<br />
* Lundi 06/03 - 08:00-10:00<br />
* Lundi 13/03 - 08:00-09:45<br />
<br />
Séances MPI:<br />
* Jeudi 26 janvier matin (Stéphanie Diligent)<br />
* Jeudi 2 février matin (Stéphanie Diligent)<br />
* Lundi 6 février matin (Emmanuelle Tréhoust)<br />
* Mardi 14 février matin (Emmanuelle Tréhoust)<br />
* Lundi 6 mars après midi (Stéphanie Diligent et Emmanuelle Tréhoust)<br />
<br />
Propositions '''définitives''' de projet:<br />
<br />
# [[RealTimeSubtitle - 2016/17 - RICM5| Sous-titre d'un cours en temps réel]] : Laurent Besacier, Didier Donsez, Marie-Paule Balicco, Jérôme Maisonnasse : BRUEL, BUI, LECHEVALLIER, MATHIEU, MOURET<br />
# [[Réalité virtuelle et Augmentée pour la maintenance d'usines]] (avec [[Unity 3D]] et [[Google VR]] SDK for Android, caméra Flir One, [[WebRTC]]): Didier Donsez, Georges-Pierre Bonneau : BERTRAND-DALECHAMPS, POPEK, ZAHO, SUN, NDIAYE, HAMMOUTI<br />
# [[CoCass|CoCass : CaaS Docker collaboratif]] : Didier Donsez (ARRADA, FAURE, FOUNAS, HALLAL, MEDEWOU, VOUTAT)<br />
# [[Projet 2017 : Gestionnaire de packages Polytech| '''Gestion des images systèmes pour les supports à Polytech Grenoble''']] : GATTAZ, LECORPS, NOUGUIER, RAMEL<br />
# [[Suggestion_intelligente_de_films_basée_sur_TensorFlow | Suggestion intelligente de films basée sur TensorFlow]] : DUNAND, HATTINGUAIS, NAVARRO, NIOGRET, RACHEX<br />
# Projet Startup: Didier Donsez LUCIDARME, DELAPORTE<br />
# [[Contributions à RIOT OS]] autour de [[LoRa]]: Didier Donsez, Taquyeddine ZEGAOUI<br />
<br />
Projets non choisi:<br />
# Borne d'accueil handicap : Didier Donsez, Marie-Paule Balicco, Jérôme Maisonnasse<br />
# [[Plateforme IoT du LIG basé sur Walt]] : Bernard Tourancheau, Franck Rousseau, Etienne Dublé<br />
<br />
<br />
Remarque: [http://snowcamp.io/2017/fr/welcome Netbeans Days 2017], 7 Février 2017, Bâtiment IMAG. Pensez à vous inscrire!<br />
<br />
Remarque: [https://wiki.eclipse.org/Eclipse_IoT_Day_Grenoble_2017 Eclipse IoT Days 2017], 9-10 Mars 2017, Bâtiment IMAG. Pensez à vous inscrire!<br />
<br />
=Année à définir=<br />
<br />
* [[Non linear MKV Editor]] : Nicolas Palix<br />
* [[Smart campus augmenté et contributif]]<br />
* [[Intégration OpenHAB / OpenTele]]<br />
* [[Client MQTT pour OBD]] sur Android<br />
* [[Sommeilomètre]] (Michael Perin, Didier Donsez)<br />
* [[Open DynDNS]]<br />
* [[IllumiRoom]]<br />
* [[Emergency mobile app]] Dvp Android. Nicolas Palix pour TIS, PRI et RICM<br />
* [[Kodi Reflexive Remote]] Dynamic remote control for Kodi. Nicolas Palix.<br />
* [http://intgat.tigress.co.uk/rmy/uml/index.html Zerofree] Portage de zerofree pour d'autres systèmes de fichiers que ext2/3/4 (notamment Unix FS). Voir également la page [http://packages.qa.debian.org/z/zerofree.html QA de Debian]. Nicolas Palix.<br />
* [[Bracelet électronique de monitoriing de l'alcoolémie]]<br />
* [[Oxymètre DIY]]<br />
* [[PinSound]]<br />
* [[Extension du support STM32Fx-Discovery dans libopencm3]] : Olivier Richard<br />
* [[Arduino et libopencm3]] : Olivier Richard<br />
* [[Data Acquisition System et Stm32f4-Discovery]] : Olivier Richard<br />
* [[Distributed Data Storage System]] : Olivier Richard<br />
* [[Dashboard based on w2ui]]<br />
* [[Environnement logiciel pour FabLab]] : Olivier Richard<br />
* [[Environnement logiciel pour le Live Programming]] : Olivier Richard<br />
* [[VirtualPinball]]<br />
* Tondeuse dessinatrice<br />
* [[ImmersiveDog]] Nicolas Glade, Didier Donsez<br />
* Projet avec [[OpenROV]] ???? : Didier Donsez<br />
* [[Sphero]] malin (Michael Périn) (2 etudiants)<br />
* [[Drone paramoteur]] ???<br />
* [[Optimisation de l'énergie pour cyclotouriste électrique]]<br />
* [[SmartSelfService|Smart Self-Service 2015]] Didier Donsez & Vivien Quema<br />
* [[Station Météo LoRa]] : contribution au projet [[LoRA-Fabian]] (Didier Donsez)<br />
<br />
=Réserve (boite à idées)=<br />
<br />
# [[Tag et Paint Ball en réalité augmentée]] (Michaël Périn) <br />
# [[Passe moi ton fichier]] (Michaël Périn) <br />
# [[Extensions à Fab Server]] (Jean-Michel Molenaar) sous reserve (CM ou SR)<br />
# [[Table multijeux de café 2.0]]<br />
# [[ GPIO_Qemu_RasPI| Emulation des GPIO dans QEMU pour le carte Raspberry Pi]] (Olivier Richard)<br />
# [[ Qemu et STM32F0-Discovery ]] (Olivier Richard)<br />
# [[Serrure à clé MIDI multifactorielle]] (Didier Donsez)<br />
# [[Table interactive musicale]] (Didier Donsez)<br />
# [[iMailbox]] (Didier Donsez)<br />
# [[AmILight]] (eclairage d'ambience intelligent) (Didier Donsez)<br />
# [[PDAmeetPDA]] (synchronisation d'agenda) (Michaël Périn)<br />
# [[1 000 000 VMs]] (expérimentation d'application distribuée à très grande échelle) (Olivier Richard) (2-3 RICM4)<br />
# [[Multiple Kinect]] (utilisation simultanée de plusieurs Kinect) (Olivier Richard) (RICM ou 3I)<br />
# [[Kinect musicale]] (Didier Donsez) (RICM)<br />
# [[Ktechlab Simavr Arduino | Ktechlab et integration de Simavr(Arduino)]] (Olivier Richard) (2-3 RICM4-SR)<br />
# Ocaml on AVR (Arduino)<br />
# Ocaml on Cortex-M3<br />
# [[Arduino on STM32 Discovery]]<br />
# [[Reverse Geocache Puzzle Box]]<br />
# [[OSGi ME]] (Didier Donsez)<br />
# [[Affichage Etudiant à Polytech]]<br />
# Synthèse 3D + motion capture Kinect<br />
# Logiciel d'[[apprentissage du calcul]] sur tablette Android (reconnaissance de chiffres manuscrits)<br />
# Plancher de verre (saint gobain) à la [http://www.wat.tv/video/mickael-jackson-billie-jean-oewj_2ey2h_.html Mickael Jackson dans Billie Jean] ! woo<br />
# [[Ktechlab Simavr Arduino | Ktechlab et integration de Simavr(Arduino)]] (Olivier Richard) (2-3 RICM4-SR)<br />
# [[CNC]]<br />
# [[Idées en Vrac]]<br />
# Scheme Everywhere (Olivier Richard) (2-3 RICM4-SR)<br />
# [[Projet Station Météo]]<br />
# Ocaml on AVR (Arduino)<br />
# [[Table interactive musicale]] (Didier Donsez)<br />
# [[AmILight]] (eclairage d'amnbience intelligent) (Didier Donsez)<br />
# [[Cube pointeur]] d'activité ingénieur<br />
# [http://www.instructables.com/id/Puppeteer-Motion-Capture-Costume/ Puppeteer Motion-Capture Costume]<br />
# [[Musical Staircase]] @ Polytech (Didier Donsez, 1 RICM4 + 1 3I4)<br />
# [[Total Recall]] (Didier Donsez)<br />
# [[SoundMachine]]<br />
# [[IGN-OSM|Importation de données IGN publiques dans OSM]]<br />
# [[Speed-limit-OSM|Analyse de traces GPX pour déterminer les limitations de vitesse]]<br />
# [[Multi perceptual cameras]] (Didier Donsez)<br />
# [[Photomaton 3D]] (Didier Donsez)<br />
# [[ArduCopter]]<br />
# [[Parking Intelligent]]</div>
Clement.Rouquier
https://air.imag.fr/index.php?title=Projets-2016-2017-UltraTeamBest/SRS&diff=33370
Projets-2016-2017-UltraTeamBest/SRS
2017-02-05T22:56:31Z
<p>Clement.Rouquier: Created page with "'''Read first:''' * http://www.cs.st-andrews.ac.uk/~ifs/Books/SE9/Presentations/PPTX/Ch4.pptx * http://en.wikipedia.org/wiki/Software_requirements_specification * [http://www...."</p>
<hr />
<div>'''Read first:'''<br />
* http://www.cs.st-andrews.ac.uk/~ifs/Books/SE9/Presentations/PPTX/Ch4.pptx<br />
* http://en.wikipedia.org/wiki/Software_requirements_specification<br />
* [http://www.cse.msu.edu/~chengb/RE-491/Papers/IEEE-SRS-practice.pdf IEEE Recommended Practice for Software Requirements Specifications IEEE Std 830-1998]<br />
<br />
{|class="wikitable alternance"<br />
|+ Document History<br />
|-<br />
|<br />
!scope="col"| Version<br />
!scope="col"| Date (DD/MM/AAAA)<br />
!scope="col"| Authors<br />
!scope="col"| Description<br />
!scope="col"| Validator<br />
!scope="col"| Validation Date<br />
|-<br />
!scope="row" |<br />
| 0.1.0<br />
| 05/02/2017<br />
| Clément Rouquier & Anthony Geourjon ( senseix )<br />
| SRS's first version<br />
| TBC<br />
| TBC<br />
<br />
|}<br />
<br />
<br />
=1. Introduction=<br />
==1.1 Purpose of the requirements document==<br />
<br />
This document aims to clearly define requirements, and so features, for our application, both functional and not-functional. Features presented here are the atomic core of the future application.<br />
==1.2 Scope of the product==<br />
The scope of the product is to make an application onwhich members of a same network would be able to locate and exchange datas with each other equiped member. This has to be possible for every users (depending on their own equipment) regardless of natural conditions (Weather, Relief) nor network coverage of the area. Optionnal equipement would allow more data knowledge.<br />
Scope users could be:<br />
* Trailers: Be able to locate themselves, and have a constant possibility of contact with organization team. <br />
* Hunters: Have a direct visualization of the area covered during a try to regroup beasts. It's also a safety measure to don't shoot an human.<br />
* Hikers: For organisms like UCPA, could be used to watch children during hiking, preventing any losts. New activities could be created thanks to the application, which only create an easy way to take care of every child at once.<br />
-> Urgent signals such as SOS are features specifically for these users.<br />
<br />
==1.3 Definitions, acronyms and abbreviations==<br />
* GPS: Globaml Positionning System<br />
* LoRaMote: Device able to broadcast his own position using the LoRaNetwork and GPS<br />
* Module RN2483: Communication module able to send date at specific frequencies, using a USB Sserie-port<br />
* Group: Network of users, contain at least a Receiver.<br />
* Users: General term for all members of a group<br />
* Receivers: Specific users: Have at least an Android Phone with the application running, a LoRaMote and (optionnal) a Module RN2483. They are able to send and receive data<br />
* Senders: Speciific users: Have at least a LoRaMote and (optionnal) a Module RN2483. Are only able to send their own data.<br />
==1.4 References==<br />
<br />
This is the first year this projet is conducted, and so we do not have previous bases for this specific project. Although, here's an non-exhaustive list of documentation on technologies which are going to be in use:<br />
<br />
* A [https://drive.google.com/open?id=0B_0n2CoDWpWQRXQzR0ZtQTM0Wlk Book] on [https://en.wikipedia.org/wiki/STM32 STM32], 32-bit microcontroller integrated circuits by STMicroelectronics<br />
* A [https://fr.wikipedia.org/wiki/LoRaWAN LoRa] [https://partner.orange.com/wp-content/uploads/2016/04/LoRa-Device-Developer-Guide-Orange.pdf Documentation], provided by Orange<br />
* Semtech LoraMote [http://www.semtech.com/images/datasheet/User_Guide_LoRaMote_STD.pdf Documentation]<br />
* [http://air.imag.fr/index.php/Developping_IoT_Mashups_with_Docker,_MQTT,_Node-RED,_InfluxDB,_Grafana Developing IoT Mashups with Docker, MQTT, Node-RED, InfluxDB, Grafana]<br />
* [http://air.imag.fr/index.php/Docker Docker]<br />
* [http://air.imag.fr/index.php/MQTT MQTT]<br />
* [http://air.imag.fr/index.php/Node-RED Node-RED]<br />
* [http://air.imag.fr/index.php/InfluxDB InfluxDB]<br />
* [http://air.imag.fr/index.php/Grafana Grafana]<br />
* [http://air.imag.fr/index.php/Leaflet Leaflet]<br />
* [http://air.imag.fr/index.php/Meteor Meteor]<br />
* [https://github.com/Lora-net/LoRaMac-node Code de Base]<br />
<br />
==1.5 Overview of the remainder of the document==<br />
<br />
In the following parts of the documents, specific features and constraints of usage are detailled. It also quantify the importance of every single one. Finally, ideas of future development are included.<br />
<br />
=2. General description=<br />
==2.1 Product perspective==<br />
<br />
The product will manage a group. <br />
<br />
'''Each user has'''<br />
* (Optional) A smartphone and bluetooth equipement<br />
* A LoRaMote device, making him visible for each receiver.<br />
-> Availability to keep receivers informs on its own position through Lora Network<br />
<br />
-> Can manually launch specific signals such as SOS<br />
<br />
'''Each receiver has:'''<br />
* (Optional) A bluetooth equipement such as GPS watch or cardio belt.<br />
* Module RN2483<br />
* An Android Running and Bluetooth friendly Smartphone<br />
-> Availability to keep other receivers informs on its own position and various data through 3G or Lora Network<br />
<br />
-> Can catch and display on the Smartphone information broadcasted by all users. <br />
<br />
-> Can interact with other receivers for specific information<br />
<br />
<br />
'''Public Restrictions'''<br />
<br />
LoRa Network uses Public Radio Frequencies, and so the traffic on these frequencies is limited. The application has to be data-friendly in order to respect these regulations.<br />
<br />
==2.2 Product functions==<br />
'''Senders:'''<br />
* Automatic broadcast on Lora Network its own GPS position every quantum of time. Quantum would be predefined considering battery life and accuracy.<br />
* Manual SOS signal through Lora Network with a physical SOS button.<br />
* (Optionnal) Receive near data using bluetooth and provided by specific equipements (Cardio belt, GPS watch...)<br />
* (Optionnal) Visualization of its own data on a map powered by OpenStreetMaps. It could be a possibility to allow senders with a smartphone to share data with the group using 3G<br />
<br />
'''Receivers:'''<br />
* Automatic broadcast on Lora Network and/or 3G its own GPS position every quantum of time. Quantum would be predefined considering battery life and accuracy.<br />
* Manual SOS signal through Lora Network with a physical SOS button.<br />
* Catch all GPS broadcasted information and display it on an OpenStreetMap powered map. Show also computed data such as distance, speed (using data history)...<br />
* (Optionnal) Receive near data using bluetooth and provided by specific equipements (Cardio belt, GPS watch...) and broadcast it using LoRa Network and/or 3G<br />
* Catch all data broadcasted display all available data as further information on a clic on a point of the map, representing an user.<br />
<br />
==2.3 User characteristics==<br />
User characteristics had already been described splitting users into 2 groups: '''receivers''' or '''senders'''<br />
If a group has only 1 user, this one would be '''alone''', and can also use the application to visualize data from himself (GPS, Bluetooth received data..) as if it where a receiver (even without Module)<br />
<br />
==2.4 General constraints==<br />
* Battery life of LoRa device<br />
* Cost of each equipement<br />
* Public Network Pollution (Problem of public frequencies, already described)<br />
* Really adaptive design to make it suitable for every usage of the application<br />
<br />
==2.5 Assumptions and dependencies==<br />
* At least one Android Smartphone with USB port per group<br />
Nothing else is mandatory<br />
<br />
=3.Specific requirements, covering functional, non-functional and interface requirements=<br />
* document external interfaces,<br />
* describe system functionality and performance<br />
* specify logical database requirements,<br />
* design constraints,<br />
* emergent system properties and quality characteristics.<br />
<br />
==3.1 Requirement X.Y.Z (in Structured Natural Language)==<br />
'''Function''':<br />
<br />
'''Description''':<br />
<br />
'''Inputs''':<br />
<br />
'''Source''':<br />
<br />
'''Outputs''':<br />
<br />
'''Destination''':<br />
<br />
'''Action''':<br />
* Natural language sentences (with MUST, MAY, SHALL)<br />
* Graphical Notations : UML Sequence w/o collaboration diagrams, Process maps, Task Analysis (HTA, CTT)<br />
* Mathematical Notations<br />
* Tabular notations for several (condition --> action) tuples<br />
<br />
'''Non functional requirements''':<br />
<br />
'''Pre-condition''':<br />
<br />
'''Post-condition''':<br />
<br />
'''Side-effects''':<br />
<br />
=4. Product evolution=<br />
<br />
=5. Appendices=<br />
=6. Index=</div>
Clement.Rouquier
https://air.imag.fr/index.php?title=Projets_2016-2017&diff=33369
Projets 2016-2017
2017-02-05T22:56:19Z
<p>Clement.Rouquier: </p>
<hr />
<div><<[[Projets 2015-2016]] | [[Projets]] | [[Projets 2017-2018]]>><br />
=RICM=<br />
==RICM3==<br />
<br />
==RICM4==<br />
===Projet Semestre S8===<br />
<br />
Enseignants responsables : Olivier Richard, Didier Donsez<br />
<br />
Dates : Lundi 9/01/2017 au 29/03/2017<br />
Lancement: 9/01/2017 après-midi<br />
Soutenance: le 3/04/2017 matin et après-midi<br />
Soutenance à mi-parcours: A définir<br />
<br />
* '''Evaluation à mi-parcours le lundi/mardi ???''': Format: 10min (5min de présentation 3 slides au plus, 5min de discussion). Cette évaluation sera prise en compte dans la note finale.<br />
<br />
'''Consignes générales:'''<br />
<br />
* '''Vous devez être pro-actifs !!!''': Si des points sont pas ou mals spécifiés, vous le faîtes et vous justifiez vos choix. Pour les problèmes techniques éventuels vous pouvez: creuser la question, contacter l'auteur du code si il y a lieu, écrire un rapport de bug ('''Attention:''' ca se prépare !), soumettre un patch/pull request, contacter l'enseignant ou la personne référente du projet.<br />
<br />
* '''Vous devez maintenir une fiche de suivi de projet''': elle doit être mise à jour chaque semaine, elle rassemble les élements essentiels du projet, elle <br />
indique les évolutions du projet et présente sa feuille de route. '''Note:''' le nom de la fiche doit être composé du nom du projet et suffixé par ricm4_2015_2016. '''Cette fiche compte pour la note finale'''<br />
<br />
* '''Vous devez utiliser un logiciel de gestion de version''' pour vos développements comme [http://en.wikipedia.org/wiki/Git_%28software%29 git ] et nous vous conseillons d'utiliser le site [https://github.com github] pour l'hébergement de votre dépôt public.<br />
<br />
* Les document public (exemple sur github) doivent être rédigés en anglais (README, documentation, commentaires de code, nom de variables et de fonctions). Une bonnification sera accordée si le rapport et les transparents sont en anglais (la soutenance sera en francais).<br />
<br />
{|class="wikitable alternance"<br />
|+ Affectation des projets RICM4 2016-2017<br />
|-<br />
|<br />
!scope="col"| Sujet<br />
!scope="col"| Etudiants<br />
!scope="col"| Enseignant(s)<br />
!scope="col"| Fiche de suivi<br />
!scope="col"| Dépot git<br />
|-<br />
<br />
!scope="row"| 1<br />
| [[Ruche connectée LoRa]] <br />
| MOREAU, LESAGE, <br />
| Palix, Richard<br />
| [[Projets-2016-2017-| '''Fiche''']]<br />
| [https://github.com/ '''github''']<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
<br />
!scope="row"| 2<br />
| [[Serres connectées]]<br />
| BOISADAM, DALLE<br />
| Palix<br />
| [[Projets-2016-2017-Serres_connectées| '''Fiche''']] - [[Projet-2016-2017-Serres_connectées_-_SRS| '''SRS''']]<br />
| [https://github.com/igreenhouse '''github''']<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 3<br />
| [[I-Greenhouse]] : [[Serre connectée aquaponie]]<br />
| MARCHAND, PELLICER<br />
| Palix, Donsez<br />
| [[Projets-2016-2017-I-Greenhouse : Serre connectée aquaponie | '''Fiche''']] - [[Projets-2015-2016-I-Greenhouse : Serre connectée aquaponie/UML_Diagrams | '''UML''']]<br />
| [https://github.com/igreenhouse '''github''']<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 4<br />
| [[Station de pompage connectée]]<br />
| FERNANDES, CHEVALIER, FU <br />
| Palix, Donsez, Richard<br />
| [[Projets-2016-2017-Station de pompage connectée| '''Fiche''']] - [[Projets-2016-2017-Station de pompage connectée - SRS| '''SRS''']] - [[Projets-2016-2017-Station de pompage connectée - UML| '''UML''']]<br />
| [https://github.com/ '''github''']<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 5<br />
| Géolocation Indoor basée sur les [[Beacon]]s BLE <br />
| COCHINHO, GAMBRO<br />
| Donsez<br />
| [[Projets-2016-2017-IndoorGeoloc| '''Fiche''']] - [[Projets-2016-2017-IndoorGeoloc-UML | '''UML''']] - [[Proj-2016-2017-IndoorGeoloc/SRS|SRS]]<br />
| [https://github.com/LouisCochinho/Geoloc_Indoor '''github''']<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 6<br />
| [[Application de suivi de colis avec RFID UHF (EPC Global)]],<br />
| AMODRU-FAVIN, DELISE <br />
| Donsez<br />
| [[Projets-2016-2017-SuiviColisRFID| '''Fiche''']] - [[Proj-2016-2017-ColisMatter/SRS|SRS]]<br />
| [https://github.com/delisea/ColisMatter '''github''']]<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 7<br />
| [[StartAIR 2017]]<br />
| ODIEVRE, CHAMBONET<br />
| Palix<br />
| [[Projets-2016-2017-| '''Fiche''']]<br />
| [https://github.com/ '''github''']<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 8<br />
| [[SmartSelfService]] <br />
| ABONNENC, BONHOURE<br />
| Donsez<br />
| [[Projets-2016-2017-SmartSelfService| '''Fiche''']] - [[Projets-2016-2017-SmartSelfService/SRS | '''SRS''']] - [[Projets-2016-2017-SmartSelfService/UML | '''UML''' ]]<br />
| [https://github.com/RICM4SmartSelfService/RICM4_Projet_SmartSelfService '''github''']<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 9<br />
| [[Interface de contrôle "Photo" pour OpenHAB]]<br />
| LACHARTRE, SAVARY <br />
| Donsez<br />
| [[Projets-2016-2017-| '''Fiche''']]<br />
| [https://github.com/ '''github''']<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 10<br />
| [[UltraTeam|UltraTeam: Application Mobile pour les Ultra-trailers et les randonneurs]],<br />
| ROUQUIER, GEOURJON<br />
| Donsez<br />
| [[Projets-2016-2017-UltraTeamBest| '''Fiche''']]- [[Projets-2016-2017-UltraTeamBest/SRS| '''SRS''']]<br />
| [https://github.com/ultratrail '''github''']<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 10<br />
| [[UltraTeam|UltraTeam: Application Mobile pour les Ultra-trailers et les randonneurs]],<br />
| GALLIER, FERRERA<br />
| Donsez<br />
| [[Projets-2016-2017-UltraTeam| '''Fiche''']]- [[Projet-2016-2017-UltraTeam/SRS| '''SRS''']] - [[Projet-2016-2017-UltraTeam/UML | '''UML''' ]]<br />
| [https://github.com/ultratrail '''github''']<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 11<br />
| [[Plateforme d'analyse de données IoT]] <br />
| ALLARD, ROCHER<br />
| Palix, Richard<br />
| [[Projets-2016-2017-Plateform_Analyse_Données_IOT| '''Fiche''']]<br />
| [https://github.com/ '''github''']<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 13<br />
| [[IRock : Surveillance Géotechnique LoRa|iRock]]<br />
| SIEST, VEGREVILLE<br />
| Donsez<br />
| [[Projets-2016-2017-Projet_IRock| '''Fiche''']]<br />
| [https://github.com/Shadsa/IRock '''github''']<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 14<br />
| [[GrenobloisFuté]]<br />
| VIAL, GUERRY<br />
| Palix<br />
| [[Projets-2016-2017-| '''Fiche''']]<br />
| [https://github.com/ '''github''']<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 15<br />
| [[GeoDiff]]<br />
| AMAURIN, BECHER, BROCHIER<br />
| Palix<br />
| [[Projets-2016-2017-GeoDiff| '''Fiche''']] - [[Projets-2016-2017-GeoDiff/SRS| '''SRS''']] - [[Projets-2016-2017-GeoDiff/UML| '''UML''']]<br />
| [https://github.com/Hbecher/GeoDiff '''github''']<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 16<br />
| [[floatingimage UPnP feed]] <br />
| FUSTES, DEREYMEZ<br />
| Palix, Donsez<br />
| [[Projets-2016-2017-floatingimageUPnP| '''Fiche''']] - [[Projets-2016-2017-floatingimageUPnP/SRS | '''SRS''']] - [[Projets-2016-2017-floatingimageUPnP/UML | '''UML''' ]]<br />
| [https://github.com/ '''github''']<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 17<br />
| Webconférence [[Google VR]]<br />
| RIVOAL, ZENNOUCHE <br />
| Donsez<br />
| [[Projets-2016-2017-| '''Fiche''']] - [[Projets-2016-2017-UML| '''UML''']]<br />
| [https://github.com/ '''github''']<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 18<br />
| [[NixOsTegraX1 | NixOS for Tegra X1]]<br />
| NASSIK, TURRIN<br />
| Richard<br />
| [[Projets-2016-2017-NixosTegraX1| '''Fiche''']] - [[NixosTegraX1/SRS| '''SRS''']]<br />
| [https://github.com/ '''github''']<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 20<br />
| [[ExperimentControl | Experiment Control]] <br />
| HOMBERG, LEMAIRE<br />
| Richard<br />
| [[Proj-2016-2017-ExperimentControl| '''Fiche''']] - [[ExperimentControl/SRS| '''SRS''']]<br />
| [https://github.com/ '''github''']<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
!scope="row"| 23<br />
| Intégration de caméras UPnP dans [[OpenHAB]] <br />
| BLANC, LAW<br />
| Donsez<br />
| [[Projets-2016-2017-UPnP Cameras integration into OpenHAB | '''Fiche''']] - [[Projets-2016-2017-UPnP Cameras integration into OpenHAB/SRS | '''SRS''']]<br />
| [https://github.com/ '''github''']<br />
| [[Media:test.pdf|Rapport]] - [[Media:slides.pdf|Transparents]] - [[Media:Flyer.pdf|Flyer]] - [[Media:rapport.pdf|Rapport]] - [[Media:presentation.pdf|Presentation]]<br />
|-<br />
<br />
|}<br />
<br />
'''Propositions de projets:'''<br />
<br />
# [[Ruche connectée LoRa]] (OpenHab) , Didier Donsez, Denis Jongmann, Olivier Richard<br />
# [[Serres connectées]] (OpenHab) Surveillance des serres d'une exploitation agricole. Nicolas Palix, Michaël Périn et Vincent Hibon ("Les jardins du Coteau").<br />
# [[I-Greenhouse]] : [[Serre connectée aquaponie]] (OpenHab). Nicolas Palix, Didier Donsez (2 groupes)<br />
# [[Station de pompage connectée]]. Nicolas Palix<br />
# Géolocation Indoor basée sur les [[Beacon]]s BLE (iBeacon, AltBeacon, Eddystone). Utilisation d'algorithmes de trigonalisation ([https://github.com/jpias/beacon-pfilter-simulation/wiki lien]), (Didier Donsez, Vivien Quéma)<br />
# [[Application de suivi de colis avec RFID UHF (EPC Global)]], Didier Donsez<br />
# Projet [[StartAIR 2017]] : interface tablette de tableau de bord d'ULM, fiabilisation du réflecteur Flight Simulator (Fabrice Dubois, Nicolas Palix)<br />
# [[SmartSelfService]] (Didier Donsez, François Portet) en collaboration avec PHELMA.<br />
# [[Interface de contrôle "Photo"]] pour [[OpenHAB]] : éventuelle contribution à la fondation Eclipse (Didier Donsez)<br />
# [[UltraTeam|UltraTeam: Application Mobile pour les Ultra-trailers et les randonneurs]] (Didier Donsez, Vivien Quéma)<br />
# [[Plateforme d'analyse de données IoT]] (Nicolas Palix)<br />
# Extension de [[Swagger]] pour [[CoAP]] : Application avec [[Californium]] (Contribution à une communauté open-source), (Didier Donsez)<br />
# [[IRock : Surveillance Géotechnique LoRa|iRock]]: Plateforme Ubilitics pour la surveillance des risques naturelles (déploiement grande échelle de capteurs [[LoRa]] sur le terrain pour l'observation de glissement de terrain) en commun avec Geotech (à confirmer) : Didier Donsez, Sandrine Caroly, Denis Jongmans.<br />
# [[GrenobloisFuté]] Couche trafic sur OsmAnd avec un greffon. Données dynamique de la métro. Dvp Android. Nicolas Palix.<br />
# [[GeoDiff]] Production, visualisation, fusion de variations (diff) sur de l'information géocodée : Nicolas Palix (Multimédia)<br />
# [[floatingimage UPnP feed]] Cadre photos connecté à Kodi. Dvp Android. Nicolas Palix, Didier Donsez<br />
# Webconférence WebRTC stereoscopique avec [[Google VR]] SDK for Android (Jérôme Maisonnasse, Didier Donsez)<br />
# [[NixOsTegraX1 | NixOS for Tegra X1]]: (Olivier Richard)<br />
# [[LittleJump | Little Jump]]: Inventer un blablacar pour les petits trajets (Olivier Richard)<br />
# [[ExperimentControl | Experiment Control]] Développer un moteur de conduite d'expérience pour les systèmes distribués (Olivier Richard) <br />
# [[CrystalLanguageMicrocontroller | Crystal Language for Microcontroller]] (Olivier Richard)<br />
# Questionnaires automatiques, (Pierre Gillois, Didier Donsez)<br />
# Intégration de caméras UPnP dans [[OpenHAB]] (Didier Donsez)<br />
Moins prioritaires:<br />
# [[OwnPOI]] ownCloud plugin and osmand plugin to share POI and favorite positions. Dvp Android. Nicolas Palix.<br />
# [[OwnList]] ownCloud plugin and Android app to share a TODO list. Nicolas Palix.<br />
# [[Osmand-Auto]] Support Android Auto sur [[OsmAnd]] Nicolas Palix,<br />
# [[OCR de composition d'étiquettes alimentaires pour la base Open Food Facts]] (Nicolas Palix, Didier Donsez)<br />
Sous réserve de matériel<br />
# Reconstruction 3D d'images thermiques provenant des réseaux de caméras thermiques [[Flir One]] : application au sport connecté(Didier DONSEZ)<br />
# Géolocation Indoor basée sur [[Decaware]]. Utilisation d'algorithmes de trigonalisation ([https://github.com/jpias/beacon-pfilter-simulation/wiki lien]), (Didier Donsez, Vivien Quéma)<br />
<br />
==RICM5==<br />
===Projet Semestre S10===<br />
<br />
Enseignants responsables : Didier Donsez<br />
<br />
Calendrier: le projet commence le 23/01 et se termine le 17/03.<br />
<br />
Réunion de présentation : 23/01 à 8H00 (RdV Salle AIR).<br />
<br />
Soutenance à mi-parcours : Vendredi 17/02 de 08:00-11:00 <br />
<br />
Soutenance (puis Pot de la fin) : A DEFINIR (Provisoirement le 16/03 après-midi)<br />
<br />
Séances Suivi:<br />
* Lundi 30/01 - 08:00-11:00<br />
* Mardi 31/01 - 10:00-12:00<br />
* Lundi 06/02 - 08:00-10:00<br />
* Lundi 13/02 - 08:00-10:00<br />
* Lundi 27/02 - 08:00-10:00<br />
* Lundi 06/03 - 08:00-10:00<br />
* Lundi 13/03 - 08:00-09:45<br />
<br />
Séances MPI:<br />
* Jeudi 26 janvier matin (Stéphanie Diligent)<br />
* Jeudi 2 février matin (Stéphanie Diligent)<br />
* Lundi 6 février matin (Emmanuelle Tréhoust)<br />
* Mardi 14 février matin (Emmanuelle Tréhoust)<br />
* Lundi 6 mars après midi (Stéphanie Diligent et Emmanuelle Tréhoust)<br />
<br />
Propositions '''définitives''' de projet:<br />
<br />
# [[RealTimeSubtitle - 2016/17 - RICM5| Sous-titre d'un cours en temps réel]] : Laurent Besacier, Didier Donsez, Marie-Paule Balicco, Jérôme Maisonnasse : BRUEL, BUI, LECHEVALLIER, MATHIEU, MOURET<br />
# [[Réalité virtuelle et Augmentée pour la maintenance d'usines]] (avec [[Unity 3D]] et [[Google VR]] SDK for Android, caméra Flir One, [[WebRTC]]): Didier Donsez, Georges-Pierre Bonneau : BERTRAND-DALECHAMPS, POPEK, ZAHO, SUN, NDIAYE, HAMMOUTI<br />
# [[CoCass|CoCass : CaaS Docker collaboratif]] : Didier Donsez (ARRADA, FAURE, FOUNAS, HALLAL, MEDEWOU, VOUTAT)<br />
# [[Projet 2017 : Gestionnaire de packages Polytech| '''Gestion des images systèmes pour les supports à Polytech Grenoble''']] : GATTAZ, LECORPS, NOUGUIER, RAMEL<br />
# [[Suggestion_intelligente_de_films_basée_sur_TensorFlow | Suggestion intelligente de films basée sur TensorFlow]] : DUNAND, HATTINGUAIS, NAVARRO, NIOGRET, RACHEX<br />
# Projet Startup: Didier Donsez LUCIDARME, DELAPORTE<br />
# [[Contributions à RIOT OS]] autour de [[LoRa]]: Didier Donsez, Taquyeddine ZEGAOUI<br />
<br />
Projets non choisi:<br />
# Borne d'accueil handicap : Didier Donsez, Marie-Paule Balicco, Jérôme Maisonnasse<br />
# [[Plateforme IoT du LIG basé sur Walt]] : Bernard Tourancheau, Franck Rousseau, Etienne Dublé<br />
<br />
<br />
Remarque: [http://snowcamp.io/2017/fr/welcome Netbeans Days 2017], 7 Février 2017, Bâtiment IMAG. Pensez à vous inscrire!<br />
<br />
Remarque: [https://wiki.eclipse.org/Eclipse_IoT_Day_Grenoble_2017 Eclipse IoT Days 2017], 9-10 Mars 2017, Bâtiment IMAG. Pensez à vous inscrire!<br />
<br />
=Année à définir=<br />
<br />
* [[Non linear MKV Editor]] : Nicolas Palix<br />
* [[Smart campus augmenté et contributif]]<br />
* [[Intégration OpenHAB / OpenTele]]<br />
* [[Client MQTT pour OBD]] sur Android<br />
* [[Sommeilomètre]] (Michael Perin, Didier Donsez)<br />
* [[Open DynDNS]]<br />
* [[IllumiRoom]]<br />
* [[Emergency mobile app]] Dvp Android. Nicolas Palix pour TIS, PRI et RICM<br />
* [[Kodi Reflexive Remote]] Dynamic remote control for Kodi. Nicolas Palix.<br />
* [http://intgat.tigress.co.uk/rmy/uml/index.html Zerofree] Portage de zerofree pour d'autres systèmes de fichiers que ext2/3/4 (notamment Unix FS). Voir également la page [http://packages.qa.debian.org/z/zerofree.html QA de Debian]. Nicolas Palix.<br />
* [[Bracelet électronique de monitoriing de l'alcoolémie]]<br />
* [[Oxymètre DIY]]<br />
* [[PinSound]]<br />
* [[Extension du support STM32Fx-Discovery dans libopencm3]] : Olivier Richard<br />
* [[Arduino et libopencm3]] : Olivier Richard<br />
* [[Data Acquisition System et Stm32f4-Discovery]] : Olivier Richard<br />
* [[Distributed Data Storage System]] : Olivier Richard<br />
* [[Dashboard based on w2ui]]<br />
* [[Environnement logiciel pour FabLab]] : Olivier Richard<br />
* [[Environnement logiciel pour le Live Programming]] : Olivier Richard<br />
* [[VirtualPinball]]<br />
* Tondeuse dessinatrice<br />
* [[ImmersiveDog]] Nicolas Glade, Didier Donsez<br />
* Projet avec [[OpenROV]] ???? : Didier Donsez<br />
* [[Sphero]] malin (Michael Périn) (2 etudiants)<br />
* [[Drone paramoteur]] ???<br />
* [[Optimisation de l'énergie pour cyclotouriste électrique]]<br />
* [[SmartSelfService|Smart Self-Service 2015]] Didier Donsez & Vivien Quema<br />
* [[Station Météo LoRa]] : contribution au projet [[LoRA-Fabian]] (Didier Donsez)<br />
<br />
=Réserve (boite à idées)=<br />
<br />
# [[Tag et Paint Ball en réalité augmentée]] (Michaël Périn) <br />
# [[Passe moi ton fichier]] (Michaël Périn) <br />
# [[Extensions à Fab Server]] (Jean-Michel Molenaar) sous reserve (CM ou SR)<br />
# [[Table multijeux de café 2.0]]<br />
# [[ GPIO_Qemu_RasPI| Emulation des GPIO dans QEMU pour le carte Raspberry Pi]] (Olivier Richard)<br />
# [[ Qemu et STM32F0-Discovery ]] (Olivier Richard)<br />
# [[Serrure à clé MIDI multifactorielle]] (Didier Donsez)<br />
# [[Table interactive musicale]] (Didier Donsez)<br />
# [[iMailbox]] (Didier Donsez)<br />
# [[AmILight]] (eclairage d'ambience intelligent) (Didier Donsez)<br />
# [[PDAmeetPDA]] (synchronisation d'agenda) (Michaël Périn)<br />
# [[1 000 000 VMs]] (expérimentation d'application distribuée à très grande échelle) (Olivier Richard) (2-3 RICM4)<br />
# [[Multiple Kinect]] (utilisation simultanée de plusieurs Kinect) (Olivier Richard) (RICM ou 3I)<br />
# [[Kinect musicale]] (Didier Donsez) (RICM)<br />
# [[Ktechlab Simavr Arduino | Ktechlab et integration de Simavr(Arduino)]] (Olivier Richard) (2-3 RICM4-SR)<br />
# Ocaml on AVR (Arduino)<br />
# Ocaml on Cortex-M3<br />
# [[Arduino on STM32 Discovery]]<br />
# [[Reverse Geocache Puzzle Box]]<br />
# [[OSGi ME]] (Didier Donsez)<br />
# [[Affichage Etudiant à Polytech]]<br />
# Synthèse 3D + motion capture Kinect<br />
# Logiciel d'[[apprentissage du calcul]] sur tablette Android (reconnaissance de chiffres manuscrits)<br />
# Plancher de verre (saint gobain) à la [http://www.wat.tv/video/mickael-jackson-billie-jean-oewj_2ey2h_.html Mickael Jackson dans Billie Jean] ! woo<br />
# [[Ktechlab Simavr Arduino | Ktechlab et integration de Simavr(Arduino)]] (Olivier Richard) (2-3 RICM4-SR)<br />
# [[CNC]]<br />
# [[Idées en Vrac]]<br />
# Scheme Everywhere (Olivier Richard) (2-3 RICM4-SR)<br />
# [[Projet Station Météo]]<br />
# Ocaml on AVR (Arduino)<br />
# [[Table interactive musicale]] (Didier Donsez)<br />
# [[AmILight]] (eclairage d'amnbience intelligent) (Didier Donsez)<br />
# [[Cube pointeur]] d'activité ingénieur<br />
# [http://www.instructables.com/id/Puppeteer-Motion-Capture-Costume/ Puppeteer Motion-Capture Costume]<br />
# [[Musical Staircase]] @ Polytech (Didier Donsez, 1 RICM4 + 1 3I4)<br />
# [[Total Recall]] (Didier Donsez)<br />
# [[SoundMachine]]<br />
# [[IGN-OSM|Importation de données IGN publiques dans OSM]]<br />
# [[Speed-limit-OSM|Analyse de traces GPX pour déterminer les limitations de vitesse]]<br />
# [[Multi perceptual cameras]] (Didier Donsez)<br />
# [[Photomaton 3D]] (Didier Donsez)<br />
# [[ArduCopter]]<br />
# [[Parking Intelligent]]</div>
Clement.Rouquier
https://air.imag.fr/index.php?title=Projets-2016-2017-UntraTeamBest&diff=33362
Projets-2016-2017-UntraTeamBest
2017-02-05T22:51:40Z
<p>Clement.Rouquier: /* 2.5 Assumptions and dependencies */</p>
<hr />
<div>'''Read first:'''<br />
* http://www.cs.st-andrews.ac.uk/~ifs/Books/SE9/Presentations/PPTX/Ch4.pptx<br />
* http://en.wikipedia.org/wiki/Software_requirements_specification<br />
* [http://www.cse.msu.edu/~chengb/RE-491/Papers/IEEE-SRS-practice.pdf IEEE Recommended Practice for Software Requirements Specifications IEEE Std 830-1998]<br />
<br />
{|class="wikitable alternance"<br />
|+ Document History<br />
|-<br />
|<br />
!scope="col"| Version<br />
!scope="col"| Date (DD/MM/AAAA)<br />
!scope="col"| Authors<br />
!scope="col"| Description<br />
!scope="col"| Validator<br />
!scope="col"| Validation Date<br />
|-<br />
!scope="row" |<br />
| 0.1.0<br />
| 05/02/2017<br />
| Clément Rouquier & Anthony Geourjon ( senseix )<br />
| SRS's first version<br />
| TBC<br />
| TBC<br />
<br />
|}<br />
<br />
<br />
=1. Introduction=<br />
==1.1 Purpose of the requirements document==<br />
<br />
This document aims to clearly define requirements, and so features, for our application, both functional and not-functional. Features presented here are the atomic core of the future application.<br />
==1.2 Scope of the product==<br />
The scope of the product is to make an application onwhich members of a same network would be able to locate and exchange datas with each other equiped member. This has to be possible for every users (depending on their own equipment) regardless of natural conditions (Weather, Relief) nor network coverage of the area. Optionnal equipement would allow more data knowledge.<br />
Scope users could be:<br />
* Trailers: Be able to locate themselves, and have a constant possibility of contact with organization team. <br />
* Hunters: Have a direct visualization of the area covered during a try to regroup beasts. It's also a safety measure to don't shoot an human.<br />
* Hikers: For organisms like UCPA, could be used to watch children during hiking, preventing any losts. New activities could be created thanks to the application, which only create an easy way to take care of every child at once.<br />
-> Urgent signals such as SOS are features specifically for these users.<br />
<br />
==1.3 Definitions, acronyms and abbreviations==<br />
* GPS: Globaml Positionning System<br />
* LoRaMote: Device able to broadcast his own position using the LoRaNetwork and GPS<br />
* Module RN2483: Communication module able to send date at specific frequencies, using a USB Sserie-port<br />
* Group: Network of users, contain at least a Receiver.<br />
* Users: General term for all members of a group<br />
* Receivers: Specific users: Have at least an Android Phone with the application running, a LoRaMote and (optionnal) a Module RN2483. They are able to send and receive data<br />
* Senders: Speciific users: Have at least a LoRaMote and (optionnal) a Module RN2483. Are only able to send their own data.<br />
==1.4 References==<br />
<br />
This is the first year this projet is conducted, and so we do not have previous bases for this specific project. Although, here's an non-exhaustive list of documentation on technologies which are going to be in use:<br />
<br />
* A [https://drive.google.com/open?id=0B_0n2CoDWpWQRXQzR0ZtQTM0Wlk Book] on [https://en.wikipedia.org/wiki/STM32 STM32], 32-bit microcontroller integrated circuits by STMicroelectronics<br />
* A [https://fr.wikipedia.org/wiki/LoRaWAN LoRa] [https://partner.orange.com/wp-content/uploads/2016/04/LoRa-Device-Developer-Guide-Orange.pdf Documentation], provided by Orange<br />
* Semtech LoraMote [http://www.semtech.com/images/datasheet/User_Guide_LoRaMote_STD.pdf Documentation]<br />
* [http://air.imag.fr/index.php/Developping_IoT_Mashups_with_Docker,_MQTT,_Node-RED,_InfluxDB,_Grafana Developing IoT Mashups with Docker, MQTT, Node-RED, InfluxDB, Grafana]<br />
* [http://air.imag.fr/index.php/Docker Docker]<br />
* [http://air.imag.fr/index.php/MQTT MQTT]<br />
* [http://air.imag.fr/index.php/Node-RED Node-RED]<br />
* [http://air.imag.fr/index.php/InfluxDB InfluxDB]<br />
* [http://air.imag.fr/index.php/Grafana Grafana]<br />
* [http://air.imag.fr/index.php/Leaflet Leaflet]<br />
* [http://air.imag.fr/index.php/Meteor Meteor]<br />
* [https://github.com/Lora-net/LoRaMac-node Code de Base]<br />
<br />
==1.5 Overview of the remainder of the document==<br />
<br />
In the following parts of the documents, specific features and constraints of usage are detailled. It also quantify the importance of every single one. Finally, ideas of future development are included.<br />
<br />
=2. General description=<br />
==2.1 Product perspective==<br />
<br />
The product will manage a group. <br />
<br />
'''Each user has'''<br />
* (Optional) A smartphone and bluetooth equipement<br />
* A LoRaMote device, making him visible for each receiver.<br />
-> Availability to keep receivers informs on its own position through Lora Network<br />
<br />
-> Can manually launch specific signals such as SOS<br />
<br />
'''Each receiver has:'''<br />
* (Optional) A bluetooth equipement such as GPS watch or cardio belt.<br />
* Module RN2483<br />
* An Android Running and Bluetooth friendly Smartphone<br />
-> Availability to keep other receivers informs on its own position and various data through 3G or Lora Network<br />
<br />
-> Can catch and display on the Smartphone information broadcasted by all users. <br />
<br />
-> Can interact with other receivers for specific information<br />
<br />
<br />
'''Public Restrictions'''<br />
<br />
LoRa Network uses Public Radio Frequencies, and so the traffic on these frequencies is limited. The application has to be data-friendly in order to respect these regulations.<br />
<br />
==2.2 Product functions==<br />
'''Senders:'''<br />
* Automatic broadcast on Lora Network its own GPS position every quantum of time. Quantum would be predefined considering battery life and accuracy.<br />
* Manual SOS signal through Lora Network with a physical SOS button.<br />
* (Optionnal) Receive near data using bluetooth and provided by specific equipements (Cardio belt, GPS watch...)<br />
* (Optionnal) Visualization of its own data on a map powered by OpenStreetMaps. It could be a possibility to allow senders with a smartphone to share data with the group using 3G<br />
<br />
'''Receivers:'''<br />
* Automatic broadcast on Lora Network and/or 3G its own GPS position every quantum of time. Quantum would be predefined considering battery life and accuracy.<br />
* Manual SOS signal through Lora Network with a physical SOS button.<br />
* Catch all GPS broadcasted information and display it on an OpenStreetMap powered map. Show also computed data such as distance, speed (using data history)...<br />
* (Optionnal) Receive near data using bluetooth and provided by specific equipements (Cardio belt, GPS watch...) and broadcast it using LoRa Network and/or 3G<br />
* Catch all data broadcasted display all available data as further information on a clic on a point of the map, representing an user.<br />
<br />
==2.3 User characteristics==<br />
User characteristics had already been described splitting users into 2 groups: '''receivers''' or '''senders'''<br />
If a group has only 1 user, this one would be '''alone''', and can also use the application to visualize data from himself (GPS, Bluetooth received data..) as if it where a receiver (even without Module)<br />
<br />
==2.4 General constraints==<br />
* Battery life of LoRa device<br />
* Cost of each equipement<br />
* Public Network Pollution (Problem of public frequencies, already described)<br />
* Really adaptive design to make it suitable for every usage of the application<br />
<br />
==2.5 Assumptions and dependencies==<br />
* At least one Android Smartphone with USB port per group<br />
Nothing else is mandatory<br />
<br />
=3.Specific requirements, covering functional, non-functional and interface requirements=<br />
* document external interfaces,<br />
* describe system functionality and performance<br />
* specify logical database requirements,<br />
* design constraints,<br />
* emergent system properties and quality characteristics.<br />
<br />
==3.1 Requirement X.Y.Z (in Structured Natural Language)==<br />
'''Function''':<br />
<br />
'''Description''':<br />
<br />
'''Inputs''':<br />
<br />
'''Source''':<br />
<br />
'''Outputs''':<br />
<br />
'''Destination''':<br />
<br />
'''Action''':<br />
* Natural language sentences (with MUST, MAY, SHALL)<br />
* Graphical Notations : UML Sequence w/o collaboration diagrams, Process maps, Task Analysis (HTA, CTT)<br />
* Mathematical Notations<br />
* Tabular notations for several (condition --> action) tuples<br />
<br />
'''Non functional requirements''':<br />
<br />
'''Pre-condition''':<br />
<br />
'''Post-condition''':<br />
<br />
'''Side-effects''':<br />
<br />
=4. Product evolution=<br />
<br />
=5. Appendices=<br />
=6. Index=</div>
Clement.Rouquier