IMA3/IMA4 2018/2020 P16

De Wiki de Projets IMA
Révision datée du 8 janvier 2020 à 08:32 par Tvantroy (discussion | contributions) (Objectif au S8)


Vidéo HD


Présentation générale

Description

Ce projet entre dans le cadre de la lutte contre le harcèlement. Le harcèlement contre lequel nous voulons lutter est le harcèlement physique ou bien contre des comportements qui peuvent dériver vers du harcèlement.


Le harcèlement est un phénomène très largement répandu dans notre société, particulièrement dans les soirées ou encore dans les transports en commun. Certaines personnes prétendes qu'il n'est pas possible de d'éradiquer ce phénomène. Nous souhaitons répondre à cette demande et pouvoir au moins détecter les zones où le harcèlement est plus fréquent pour pouvoir y agir en conséquence.


Le but de ce projet est dans un premier temps de concevoir un dispositif permettant de détection d'un contact entre la peau et une main ou un bras d'une autre personne avec la remontée et le suivi en temps réel des informations. Puis dans un second temps, la mise en place de ce système dans un vêtement tel une robe ou un pantalon. On peut imaginer lors d'un attouchement, l'envois d'une notification pour demander de l'aide ou pour prévenir une personne de se rendre sur place et d'agir.


Le dispositif que nous souhaitons concevoir n'est pas à destination que d'un seul type d'individu mais bien à tous, homme et femme confondus.

Objectifs

Le principal objectif de ce projet est de pouvoir lutter contre le harcèlement physique visant les hommes ou les femmes.

Pour cela, ce projet a été découpé en plusieurs objectifs que nous allons nous efforcer de respecter et d'accomplir.

  • Conception d'un dispositif sensitif pour les attouchements.
  • Visualisation de ces attouchements en temps réel.
  • Gestion des alarmes (envoie d'un SMS ou autre).

Ces premiers objectifs vont nous permettre de concevoir notre cahier des charges et par la suite nous guider dans le choix des technologies à choisir et utiliser.

Analyse du projet

Positionnement par rapport à l'existant

Pour lutter contre ce type harcèlement, certaines associations et certaines marques ont pu développé des actions anti-harcèlement (campagne de prévention/sensibilisation, slogan porté sur des vêtements,...)


Nous allons vous présenter deux concurrents vis à vis de notre projet.

Analyse du premier concurrent

"Point de contact capté"

Schweppes (Ogilvy) : The Dress for Respect

Au Brésil, 86% des femmes ont déclaré avoir été harcelées ou touchées sans leur consentement dans les boîtes de nuit. Pour remédier à cela, Schweppes fait appel à Ogilvy Brasil et présente une nouvelle campagne. La marque invite 3 femmes à porter la robe du respect, un vêtement connecté qui réagit au touché, afin de détecter un geste non-désiré. Les trois femmes se rendent en boîte de nuit pour se prêter à l’expérience. Les résultats en fin de soirée sont révélateurs avec au total 157 contacts ont été répertoriés pour seulement 3h47 de soirée.

Par le biais de cette action, Schweppes se sert de ce nombre impressionnant pour dénoncer un fait souvent difficile à aborder sur le moment. L’enseigne de boissons gazeuses souligne le simple fait qu’une femme n’est pas un objet et encourage les hommes à avoir un comportement plus courtois envers elles. Schweppes souhaite ainsi se positionner comme partenaire des bonnes soirées pour tout le monde.


Avantage Inconvénient
  • Capteur précis
  • Bonne visualisation des attouchements
  • Prise de conscience du problème
  • Pas de réel intervention
  • Aucune protection

vidéo de présentation youtube

Analyse du second concurrent

Un second concurrent peut-être un garde du corps. En effet afin d'éviter de se faire harceler au cours d'une soirée ou autre, une personne peut engager un garde du corps pour se faire accompagner et ainsi éviter tous problèmes avec des comportements non-désirés.


Les avantages d'un garde du corps sont que lors d'un déplacement ou d'une sortie dans le métro, les personnes qui viendront vers le client, seront rembarrées directement et n'importuneront pas la personne en question.


Par contre, ce système comporte des inconvénients qui ne sont pas des moindres. Un garde du corps est un service qui peut revenir cher de part la sécurité qu'il apporte. De plus, elle peut aussi être une gène dans le cas d'une soirée où l'on veut rencontrer de nouvelles personnes empêchant la discussion.


Avantages Inconvénients
  • Harcèlement pas possible
  • Prix
  • Pas de rencontre possible
  • Pas d'interaction avec le client

Scénario d'usage du produit ou du concept envisagé

Dans notre scénario d'usage, nous prenons le cas d'une jeune fille, nommée Nina, qui veut rejoindre des amis dans une soirée.

Elle porte sur elle la robe "anti-harcèlement" qu'elle va signaler à l'accueil afin de renseigner son code d'identification permettant son suivi au cours de la soirée.

La boite dans laquelle Nina se rend, est reconnue pour l'utilisation de ce type de vêtement. La boite est équipée d'une salle de surveillance possédant un système de visualisation en temps réel des vêtements intégrant le dispositif anti-harcelemnt grâce au code d'identification donné par Nina à son entrée. Au cours de la soirée, en cas d'abus, Nina va recevoir une notification lui demandant de valider si elle est actuellement victime d'attouchements. Si elle ne valide pas la notification au bout d'un certain délai, une personne interne de la boite va intervenir en sanctionnant le harceleur et en excluant de la soirée. De telles mesures s'appliquent élégamment si Nina valide la notification.

Ainsi Nina peut tranquillement profiter de la soirée avec ses amis en évitant les lieux auxquelles elle aurait pu être victime d'attouchements.

Réponse à la question difficile

A la suite de la présentation de notre sujet devant un jury d'enseignants et d'étudiants, nous avons retenu deux questions que nous allons prendre en compte dans la réalisation de se projet.

  • Comment allez vous faire pour éliminer les "bruits" et les contacts amicaux ?

-> Voir pour étalonner les capteurs et voir pour ajouter une fonction "mode silencieux".

seuil + metrique (durée repetion du contact et force + zone et déplacement si reponse inadentu) non attentionnel et attentinnel (non et problematique) lien des sénariots

  • Allez vous permettre une géo-localisation du vêtement ?

-> La géo-localisation est une option que nous pouvons prendre en compte via le smartphone.

Préparation du projet

Avant de pouvoir passer à la partie réalisation, nous devons :

  • Definir le type capteur à utiliser.
  • Definir le type de localisation.
  • Définir l'interface pour la visualisation des points de contact.

Cahier des charges

A partir de l'étude de notre sujet, nous avons pu établir notre cahier des charges.

  • Besoin Fonctionnel

Le système à concevoir doit permettre de visualiser les points de contact sur le corps d’une personne. Les informations doivent être visionnées en temps réel, nous devons donc traiter les données et les rendre disponible immédiatement.

Une interface à développer pourra être utile pour communiquer avec le système et afficher les résultats du traitement des données. Aussi, elle doit informer son utilisateur s’il est en situation de harcèlement. Nous avons fait le choix de développer une application pour smartphone Android.

  • Contraintes Techniques

Notre système comporte tout d’abord des spécificités. En effet, il sera composé d’un grand nombre de capteur pour la détection des points de contact. Il devra donc être léger, simple à porter sans gêner son utilisateur et surtout être discret.

Ensuite les contraintes de réalisation sont l’utilisation de l’environnement Arduino pour exploitation des informations délivrées par les capteurs de force. Pour le développement de l’application Android, on utilisera l’utilitaire MIT App Inventor. Un module de communication Bluetooth sera employé pour la communication entre le système et l’application.


A l'issue du semestre 6, nous devons être en mesure de présenter un prototype capable de détecter des touches, d'indiquer la zone concernée et aussi de prévenir l'utilisateur.

Choix techniques : matériel et logiciel

Matériel :

  • Arduino
  • Module Bluetooth
  • Capteur de force
  • Batterie


Logiciel :

  • MIT App Inventor 2
  • Arduino

Liste des tâches à effectuer

  • Déterminer le type des capteurs à utiliser (tactile, force, pression).
  • Tester les capteurs.
  • Concevoir du code pour intégrer les capteurs.
  • Positionner des capteurs.
  • Visualiser sur une application les points de contact sur le corps.

Calendrier prévisionnel

Le calendrier prévisionnel peut se concrétiser sous la forme d'un diagramme de GANTT.

P16 calendrier.PNG

Réalisation du Projet

Projet S6

Les différentes parties suivantes vont présenter le travail effectué pendant nos séances de projet semaine par semaine.

Semaine 5

Cette séance marque le commencement de notre projet. Avant de pouvoir coder ou encore de rechercher les composants qui nous seront utiles, nous avons, en tout premier lieu, pris connaissance du sujet. A partir de notre sujet, nous avons élaboré une première ébauche de notre cahier des charges, les objectifs à réaliser et aussi un planning prévisionnel.


La première heure s'est donc dérouler sous la forme d'un brainstorming qui nous a permis de rassembler les grandes idées du projet sans parler des fonctionnalités :

  • Que peut il apporter ?
  • Comment s'en servir ?
  • Où l'utiliser ?


A partir de ces idées, le groupe a pu se diviser en trois pour se concentrer sur :

  • la description et les objectifs (Tanguy)
  • l'analyse par rapport aux concurrents (Paul)
  • le scénario d'usage (Julien)

Semaine 6

Avant d'arriver à cette séance, nous avons finalisé la description et la définition des objectifs du projet. En effet, nous avons pu présenter aux autres groupes notre projet mais seulement du point de vue des objectifs et du scénario d'usage.


A la suite de cette séance de présentation des projets, un jury composé d'enseignants et d'étudiants nous a donné deux questions auxquelles nous allons devoir répondre. Ces deux questions avaient pour but de nous guider pour la deuxième partie du projet (réalisation).


Ces deux questions portaient sur l'étalonnage des capteurs et la géo-localisation de l'utilisateur.

Semaine 7

Cette séance fait suite à l’amphithéâtre de présentation des projets, c'est pourquoi nous n'avons pas réellement plus avancé sur le projet.


Par contre, nous avons réfléchi à des moyens techniques pour résoudre les deux questions que le jury nous avait exposé la semaine d'avant.

  • Pour la géolocalisation, il nous suffira d'utiliser celle du téléphone.
  • Pour tous les bruits que les capteurs peuvent émettre, il faudra les tester pour déterminer différentes valeurs en fonction du type de contact (caresse, tape..)

Semaine 9

A partir de cette séance, nous avons réellement pu travailler sur la réalisation du projet en lui-même.


L'ensemble du groupe s'est attelé à la recherche des différents composants nécessaires.

  • Microcontrôleur type carte Arduino.
  • Matériel de communication bluetooth.
  • Détecteur de touche ou force.
  • Composants d'électroniques (diode, résistance, ...)


Nous avons réalisé un petit fichier pour nous permettre de comparer les différents prix en fonction des fournisseurs agréés par l'école. Ainsi après avoir trouvé le matériel, nous avons transmis notre fichier aux enseignants afin de pouvoir passer commande.

P16 Tableau composant.PNG

Semaine 10 & 11

Nous avons pu faire avec notre tuteur un point sur l'avancement du projet pour connaître & identifier nos besoins mais aussi voir à quelle étape nous nous trouvions.


Avant de commencer à coder notre projet, nous avons réfléchi aux différentes méthodes de codage que nous pouvions utiliser. Une des questions posées par le jury se basait sur l'utilisation de nos capteurs de force. En effet, comment pouvons nous reconnaître un cas de harcèlement d'un cas tout à fait banal. Comment peut on différentier une dance avec un ami d'une caresse d'un inconnu ? Comment interpréter les contacts dans les transports en commun ?


Pour répondre à ces problèmes, nous avons établit différents mini-scénarios pour simplifier la partie programmation. Par la suite, nous ferons des tests sur les capteurs pour vérifier ces mini-scénarios. Aussi nous pourrons déterminer la zone d'action autour des capteurs ou encore les valeurs minimum et maximum.

"tableau des scénarios"


Nous avons donc déterminé certains critères pour identifier les différents cas de figure que nous pouvons rencontrer.

  • la répétition
  • la durée
  • la force

Semaine 12

A partir de cette séance, nous sommes passés sur la conception & la réalisation de notre projet.


Nous avons avons commencé par créer une application pour smartphone Android. Pour concevoir cette application, nous avons utilisé l'utilitaire MIT App Invertor 2. MIT est un outil pour concevoir simplement des applications Android. La conception d'une application se fait via des blocs similaires au langage Scratch. Pour la réaliser, nous avons suivit le cahier des charges que nous avons établit.


P16 Logo MIT.png


Tout d'abord, on a cherché à gérer la gestion des Appels/SMS. Pour tester et voir comment fonctionne l'envoie d'un SMS ou d'un appel, on utilise un bouton. Lorsque ce bouton est à 1, une boite de dialogue donne le choix d'appeler une personne pour obtenir de l'aide. On utilise un bloc Notifier pour générer une boite de dialogue et un bloc PhoneCall pour composer un numéro enregistré au préalable.

P16 Notif appel.PNG


Après quelques petits problèmes, nous sommes passé sur la gestion de la connexion Bluetooth entre le système et l'application. Nous avons juste ajouté un composant Bluetooth et deux boutons. l'un pour sélectionner le Bluetooth et l'autre pour se déconnecter. Un petit message permet de savoir si la liaison est bien établit.


P16 Liaison bluetooth.PNG


Nous n'avons pas pu tester cette connexion car nous ne disposons pas encore du module Bluetooth. Néanmoins elle est fonctionnelle car elle est similaire à un ancien projet de DUT.

Semaine 13

Pendant cette séance, nous avons poursuivi nos tests pour réussir à appeler une autre personne. Pour continuer sur la réception et l'envoi des données, nous envoyons toutes les valeurs des capteurs à la suite puis dans l'application, nous les décomposons pour retrouver la valeur en fonction de son capteur.

[[Fichier:]]

Nous pourrons tester l'application avec le programme Arduino à la prochaine séance, séance où nous devons recevoir les capteurs.

Semaine 14

Nous avons reçu les deux modèles de capteur commandés. La différence entre ces deux capteurs est leur taille. L'un est un carré d'une surface de 14.44 cm² et l'autre un rond de 1.32 cm². Nous pensons utiliser les capteurs carrés pour détecter les touches sur des grandes zones plutôt exposées (hanches, dos, extérieur des bras..) et les petits sur des zones où les risques de touches sont moindres (intérieur des bras, poitrine, intérieur des cuisses..).

P16 Capteur FSR01.png P16 Capteur FSR03.png


Nous avons pour tester ces différents capteurs créé un programme Arduino pour afficher différentes informations (valeur, force..) lorsque l'on touche le capteur. Le tableau suivant va synthétiser nos tests.


Tests des capteurs de force FSR
Type de contact Caresse Touche Main sérrée
Valeur en mV 250 - 400 500 - 700 > 800
Force en Newton 0 1 - 3 > 4

Semaine 17

Après nos différents tests, nous avons pu voir qu'en dessous d'une valeur de 300, on se trouve dans une plage de "bruits". Dans notre programme, nous ignorons donc toutes valeurs en dessous de cette plage.

On s'est rendu compte que notre application n'arrivait pas à prendre en compte l'activation de plusieurs capteurs en même temps.

Ensuite, nous avons mis à jour l'application et le code Arduino pour prendre en compte l'utilisation de plusieurs capteurs et la plage sans les bruits.

Semaine 18

Suite à des soucis de visualisation des touches sur l'application, nous avons repensé cette dernière mais aussi notre programme.

En effet, nous ne sommes pas arrivé à observer différentes touches en même temps. Or l'intérêt du projet se trouve là.

Nous avons donc changé notre application tout en gardant certains éléments que nous avons développé (Appel et Connexion Bluetooth). Après quelque changements, nous obtenons la vue suivante :

P16 Vue appli v1.png


Pour résoudre notre soucis, nous envoyons une seule trame de données. Dans cette trame, on peut savoir si oui ou non un capteur est activé. La trame est composé de plusieurs chiffres (1 ou 0). Sa longueur dépend du nombre de capteur. Par exemple, avec 3 capteurs, on peut recevoir la trame suivante : 011. On sait alors que le capteur 1 n'est pas touché mais que le 2 et le 3 le sont. Le gros soucis avec cette méthode est qu'elle est très lourde à traiter mais en utilisant MIT, nous n'avons pas trouvé d'autres solutions. Si un capteur est vue comme étant actif, on modifie la couleur d'un des boutons pour le rendre visible.

P16 Verif capteur touche.PNG


On peut voir dans la vidéo suivante comment on visualise les points de contact.

P16 video appli.gif

Semaine 19

Après de nombreux tests concluant sur la visualisation de nos tests, nous nous sommes consacré sur l'ajout de fonctionnalité. Nous avons donc optimisé et développé les points suivants :

  • Contrôle du temps d'une touche. Si la durée du point de contact est de 4 secondes consécutives, on transmet dans la trame un 2 qui demande à l'utilisateur s'il est en danger ou pas.
P16 duree 4sec.PNG P16 duree 4sec code.PNG


  • Rajout d'identifiant et de mot de passe. L'utilisateur doit pour accéder à l'application se connecter à l'aide de son identifiant et de son mot de passe.


P16 Login.PNG


  • Donner le droit à l'utilisateur d'ajouter des numéros de téléphone et de choisir la personne à contacter parmi une liste.


P16 video popup.gif


  • Agrémentation de l'application. Le but est de rendre l'application plus attractive et plus intuitive.

Perspective du projet

Pour la suite de notre projet, nous comptons réaliser nous même notre propre application. Aussi le prototype sera développé à plus grande échelle sur un vêtement entier. Notre système devra alors être miniaturisé pour rester discret et simple à porter. Nous comptons aussi revoir notre choix de technologie des capteurs. Nous regarderons aussi comment alerter l'utilisateur d'une situation de harcèlement (Ajout d'un vibreur).

Documents Rendus

Vous pourrez trouver dans cette partie les différents fichiers de notre projet.

  • Application Android : [[3]]


Bilan

Ce projet nous a beaucoup intéressé de part son actualité mais aussi par le développement que nous avons fait. Nous avons conçu un prototype fonctionnel répondant à notre cahier des charges. Nous avons pu concevoir une application, coder une carte Arduino et réaliser un prototype.


Projet S7

Etat du projet en début du S7

En ce début d'année, nous avons pour notre première séance du S7 fait un bilan sur l'état de notre projet. A la suite de notre oral et de l'entrevue avec les enseignants, nous avons eu certaines remarques qui nous ont fait réflechir sur certains points du projet.

  • En effet, la détection n'étant pas parfaite, il nous faut revoir ce point critique car il s'agit du point le plus important du projet. Sans la détection, rien de ne peut être traité.
  • Un autre point sensible correspond au traitement des données. Comment vérifier et différencier une touche amicale d'une touche non-désirée. Pour régler ce problème, Monsieur Boé nous a orienté sur une solution possible : le deep Learning.
  • Notre application nous posait aussi des petits soucis. En effet, notre solution n'est pas très optimale et est très lourde à traiter.


Pour ce semestre, nous allons donc chercher à résoudre les principaux soucis que nous avons pu mettre en avant et proposer une solution répondant mieux à notre cahier des charges. Pour cela, nous allons voir pour améliorer notre système de détection, pour traiter plus efficacement les données et développer une nouvelle application.

Amélioration du prototype

Afin de détecter plus précisément et efficacement les touches sur une personne, nous avons pensé à changer nos détecteurs de force avec des capteurs basés sur le principe d'un écran tactile. Nous avons commencé par effectuer des recherches pour comprendre plus en détail le fonctionnement d'un écran tactile. Nous avons pu voir qu'il s'agit d'une technologie capacitive fonctionnant sur la décharge du corps humain en travers une résistance symbolisée par l'écran.

Pour commencer, nous avons simulé un capteur tactile avec une résistance et des feuilles d'aluminium. On réalise le schéma suivant pour notre test.

P16 schema v2.PNG

La résistance est une résistance de pull-up et la capacité correspond au capteur tactile qui est une bande d'aluminium. Un courant vient charger la résistance de pull-up. Lorsqu'on vient toucher la bande d'aluminium, le corps humain vient se décharger au travers de la résistance et ainsi peut voir que le capteur est actif.

Cette méthode est concluante car on peut bien visualiser la touche sur un des capteurs. Chaque capteur se branche sur une entrée/sortie de la carte arduino. On peut envisager de mettre en place cette méthode. Par contre, la lenteur de l'arduino peut nous poser problème. On peut donc mettre en pratique nos cours de microprocesseur et de système pour optimiser les cycles du CPU et ainsi être plus rapide.

La mise en place de bande de papier aluminium dans un vêtement n'est pas vraiment idéale. Nous allons donc réfléchir à une solution permettant d'intégrer au mieux notre nouveau système de détection. Pour cela, nous avons pu trouver une solution à partir d'un tissu tactile proposé par l'équipe de Google ATAP. Nous allons coudre un fil conducteur sur le vêtement est délimiter des zones sur le corps. Chaque zone correspondra à un capteur. Ainsi on pourra bien distinguer la touche sur une personne. Par contre, on va veiller à doubler le vêtement pour éviter de confondre une touche avec son propre corps.

METTRE LE SCHEMA DU CORPS

En plus de ces capteurs de touche, nous avons décidé de laisser les capteurs de force pour aider à différencier le cas d'un harcèlement d'un cas banal. Ainsi, on vient ajouter sur nos zones de détection nos capteurs de force.

Nouvelle application

Nous avons commencé à développer notre application après les différents tests des capteurs tactiles. Pour cette nouvelle application, nous avons arrêté d'utiliser MIT App Inventor au profit du logiciel AndroidStudio. Il s'agit d'un IDE de développement basé sur Intellij. Pour commencer à utiliser ce nouvel environnement, nous avons suivi un cours provenant d'un master informatique du campus.

Pour commencer, nous avons établit la liaison Bluetooth entre l'arduino et la nouvelle application. On a tout d'abord déclarer deux permissions, une pour effectuer la communication et se connecter et l'autre pour récupérer des informations de l'utilisation telles que la localisation.

<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>

Après avoir initialisé l'application, la fonction initiaBluetoothProcess() vient établir la liaison avec le module Bluetooth. Les informations envoyées et reçues sont stockées à partir de la fonction ConnectedThread().

Nous avons aussi pris le temps de développer une fonction permettant d'annuler la connexion Bluetooth.

Nous avons ajouté comme fonctionnalité le paramétrage pour prévenir ou demander de l'aide. On peut choisir entre émettre un appel et envoyer un SMS avec le numéro de notre choix. Nous avons pensé à sauvegarder le choix car nous avons vu que lorsque l'on quittait l'application, le numéro de téléphone n'est pas enregistré. Il fallait donc le noter à chaque utilisation ce qui n'est pas vraiment pratique.


Aussi nous avons mis en place un moyen de prévenir quelqu'un lorsque l'on se sent en insécurité. Pour prévenir une personne suivant le choix fait dans les paramétrages de l'application, lorsque l'on appuie cinq fois sur un intervalle de temps de 0,5 secondes l'appel ou le sms est automatiquement envoyé. On peut alors penser envoyer seulement un sms avec les informations de localisation pour recevoir de l'aide.

Nouvelle liste de matériel

Après avoir passé la plupart de notre temps à effectuer des tests pour déterminer le type capteur à choisir et à réaliser notre nouvelle application, nous avons pu fournir une nouvelle liste de matériel pour le semestre suivant afin de pouvoir router notre carte et terminer notre prototype.

  • Un arduino micro
  • Des résistances CMS de 1MΩ | 0603
  • Des résistances CMS de 10MΩ | 0603
  • Des capacités CMS de 0.33µF | 1206
  • Des Capacités CMS de 0.1µF | 1206
  • Un régulateur de tension CMS LM7805MPX
  • 4 bobines de fils conducteur par 22m
  • 4 capteurs de force FSR02CE
  • 10 capteurs de force FSR402S
  • Des borniers
  • Des câbles en nappe

Objectif au S8

Maintenant que nous savons comment réaliser notre système, il ne nous reste plus qu'à le mettre en place et de trouver la bonne méthode d'exploitation des données. Nous n'arrivons pas bien à voir comment développer le DeepLearning avec notre projet.

Nous allons donc commencer par réaliser un circuit imprimé afin de miniaturiser notre système. Ensuite, nous allons voir comment traiter nos données efficacement. Puis pour finir, nous verrons comment proposer un dispositif simple et discret.

REF

https://dam-prod.media.mit.edu/x/2017/06/15/paper0066.pdf

https://www.media.mit.edu/projects/sensorknits/overview/

https://www.media.mit.edu/research/?filter=everything&tag=wearable-computing

Documents Rendus

Projet S8

Documents Rendus