Robair connecté à Twitter

De fablab
Aller à : navigation, rechercher

Informations générales

Contact: Germain Lemasson,


Nom :

Projet Fablab - RobAir connecté aux réseaux sociaux

Équipe :

BONNECHÈRE Jean-Baptiste,
POTONG MBOUCHEKO Valderane,
YOEUNG Michel


Lien du dépot git : https://gricad-gitlab.univ-grenoble-alpes.fr/potongmv/robair_social/.
Une documentation détaillée est disponible sur le dépot Git. Lien :

Equipe

L'équipe est constituée de 3 membres :


Contexte

Le projet Fablab s'inscrit dans le contexte d'une utilisation de RobAir en tant que reporteur. Robair est amené à participer à des conventions en vue de démonstration de ses compétences. Il accompagne une équipe pour montrer se capacités. Robair est équipé d'une tablette avec une caméra. Cette caméra peut servir pour la communication du Fablab, notamment avec le compte Twitter de RobAir.

Sujet

Dans ce contexte, RobAir peut être amené à effectuer deux actions :
- D'une part la capture d'une photo, déclenchée par la persone qui manoeuvre le robot. Cette prise de vue permet de rédiger précisément le tweet. L'opérateur a à sa disposition un clavier physique, et peut communiquer au mieux pour associer du texte à son image.
- D'autre part, un tweet peut être généré directement par les voisins du robot. Par l'ajout d'un bouton physique sur le robot, sa pression permet la capture d'une photo et la génération d'un tweet. Ce mode opératoire permet lui de controler particulièrement la prise de vue. La photo peut être plus spontanée, avec une interaction avec le public.


Travail à réaliser

Le travail consiste en plusieurs points :
- Améliorer le code déjà existant pour Robair twitter (intégration d'un compte à rebours),
- Corriger les bugs d'utilisation, pour assurer un fonctionnement sans problème de la fonctionnalité,
- Permettre la publication d'un tweet directement depuis le robot.

Choix techniques

Le projet demande des compétences en Node, Javascript, ainsi qu'en manipulation de carte Arduino, et ROS.
Nous avons fair le choix d'intégrer un bouton physique au robot, sous les conseils de Germain. Nous avons branché les bornes utiles de la carte à des fils, que nous avons soudés aux bornes du bouton. Nous avons de plus créé un boitier en plexiglas contenant le volume des fils.
Le bouton peut interagir avec ROS et l'interface web, pour effectuer l'action demandée.

Le bouton choisi est à deux bornes, de type bouton poussoir, qui ne possède qu'un seul état d'envoi. Lorsqu'on appuie sur le bouton il change d'état selon la tension à ses bornes. Nous avons choisi de nommer l'état "appuyé" lorsque la tension aux bornes est nulle, ce qui nous évite d'utiliser une résistance supplémentaire dans le circuit.


Contenu du projet

Prise en main de l'environnement :

  • Documentation générale (technique) sur Robair (anciens rapports notamment)
  • Parcours de la hiérarchie du fichier dans le git


Correction de bugs :

  • Lors de l'installation des packages avec install.sh, certains ont été dépréciés
  • Nous avons résolu un bug qui rendait les touches "i", "o", et "p" invalides dans la zone de rédaction du tweet, suite à leur liaison à des raccourcis clavier
  • Certaines photos prises présentaient un bug d'affichage
  • La photo prise est visible depuis le robot alors qu'avant,lorsque l'utilisateur devant le client prenait la photo, la cible devant le robot ne voyait pas la photo prise
  • Un compte à rebours se déclenche côté robot avant la prise de vue (pour permettre le placement de la personne en face de la caméra)
  • On grossit la vidéo côté robair lorsque le compte à rebours est lancé pour que la personne devant puisse mieux se voir et se positionner


Ajout d'un bouton twitter pour prendre une photo :
Description : Enfin, nous avons implémenté une fonctionnalité de publication directement depuis le robot par l'appui sur un bouton physique. Le bouton est situé sur la collerette de RobAir, aux couleurs de Twitter, et permet de publier du contenu.

  • Soudage de fils sur la carte carte arduino pour les relier sur les deux bornes du bouton twitter
  • Implémentation dans la classe Robair du code C++ qui permet de publier les changements d'états du bouton twitter
  • Implémentation dans le côté Robair du code Javascript qui permet de détecter le changement d'état (avec la librairie Roslibjs) du bouton pour déclencher le compte à rebours en fonction de l'état
  • Découpe du logo Twitter et du boitier pour le robot
  • Fixation du boitier


Ecriture d'une documentation complète :

  • Documentation sur les deux interfaces générales du projet (client et robair)
  • Documentation sur le travail effectué (technique)
  • Manuel utilisateur
  • Document de conception (pour la maintenance)


Suivis

Premier suivi :

  • Présentation du projet par Germain,
  • Echange d'idées sur les applications sociales d'un robot de téléprésence
  • Etat des lieux du lien de RobAir aux réseaux sociaux
  • Discussion des avancées à mettre en place :
  • Nouveaux réseaux,
  • Mise en place de l'environnement existant,
  • Correction des bugs
  • Implémentation avancée de Twitter
  • Mise en place de l'environnement de travail


Second suivi :

  • Présentation du fonctionnement du logiciel existant
  • Discussion autour du travail à effectuer
  • Choix du travail à effectuer en équipe


Troisième suivi:

  • Présentation du travail réalisé, correction de bugs Twitter
  • Début de la rédaction de la documentation
  • Finalisation du coeur de projet à réaliser
  • Discussion autour du fonctionnement de la carte Arduino
  • Prêt du matériel adéquat : carte, bouton, fils de connection


Quatrième suivi :

  • Bouton Twitter fonctionnel
  • Arrêt sur un point technique du travail
  • Précuations d'emploi du matiériel de soudage
  • Soudure du bouton Twitter
  • Intégration du mécanisme à l'ensemble du robot
  • Discussion sur l'interface et adaptation pour l'utilisateur
  • Modélisation d'une boîte esthétique pour le bouton et ses fils, conception et intégration au robot RobAir, sur sa collerette
  • Impression d'un logo Twitter sur le bouton pour sa reconnaissance
  • Discussion sur d'autres améliorations possibles de l'interface utilisateur


Cinquième suivi :

  • Interface adaptée, du côté client et du côté robot
  • Fin de la documentation, exhaustive, d'utilisation
  • Amélioration de certains points de l'interface : vidéo agrandie lors d'une publication depuis le robot


Schéma d'utilisation

Un utilisateur accompagnant le robot peut lui demander de publier du contenu sur Twitter. Pour cela, il lui suffit d'actionner le bouton bleu prévu à cet effet, situé sur la collerette de RobAir.
Un compte à rebours se déclenche alors. Après cinq secondes, une photo est prise par le robot, qui s'affiche à l'écran. L'utilisateur est alors libre d'entrer un message accompagnant la photo. L'ensemble est publié ensuite sur le compte twitter de RobAir.

La documentation du projet présente en détail les cas d'utilisation de RobAir Twitter


Démonstrations :

Vidéo : Point de vue de l'interface Robair (présente sur la tablette du robot lui-même présent lors d'un évènement)

https://drive.google.com/open?id=1m2iMv9G3_O4JLkmnPlN-yJ-8THzvAiE_

Vidéo : Point de vue de l'interface client (qui pilote le robot à distance)

https://drive.google.com/open?id=1TOmmuL6zWqkplkdtqeuHO808IETZ58Zb