Anki

De fablab
Révision de 1 février 2022 à 17:44 par Solokwal (discussion | contributions) (Total budgétisation)

Aller à : navigation, rechercher

Description du sujet

Objectifs

L'objectif est de créer un robot compagnon pour enfants ou personnes âgées. Le but est de divertir l'utilisateur tout en le faisant travailler sa mémoire et dextérité.

Équipe

  • Alexandre Pilleyre
  • Léa Solo Kwan

Problématique

Notre principal objectif est d'avoir un robot commandable via télécommande (joystick directement connecté, téléphone via une application, autre système plus innovant).

L'idée étant de permettre aux enfants ou aux personnes âgées de travailler leur dextérité et mémoire, le robot doit être capable de jouer des séquences de mouvements pré-enregistrées pour que l'utilisateur puisse les mémoriser et les rejouer.

L'opérateur quant à lui (qui peut aussi être simplement un utilisateur) doit pouvoir enregistrer ses propres séquences que le robot devra rejouer.

Ainsi le panel des séquences du robot est simplement limité par la mémoire interne de ce dernier (pour le moment seulement jusqu'à 20 mouvements) et permet d'avoir une grande marge dans la courbe de difficultés des séquences soumises.

Liens

Lien vers le GitLab : https://gitlab.ensimag.fr/pilleyra/projet-object-connecte

Scénario d'utilisation

Robot se déplace grâce au joystick

Comme le montre la vidéo le robot peut être commandé avec le joystick auquel il est relié.

Robot se déplace grâce à l'application téléphone

Sur cette vidéo le robot est commandé grâce à une application téléphone, vous pouvez voir l'écran de commande du téléphone sur cette vidéo.

Robot joue une séquence enregistrée

Ici le robot joue une séquence qui est enregistrée, pour cela l'utilisateur appuie sur le bouton B2 de l'application mobile.

Robot enregistre et rejoue une séquence

Enfin dans cette vidéo l'utilisateur enregistre une séquence et la fait jouer ensuite par le robot. Pour cela l'utilisateur effectue la séquence suivante:

  • Appuie sur le bouton B1 de l'application mobile pour commencer l'enregistrement de la séquence.
  • Effectue les mouvements qu'il veut enregistrer.
  • Appui de nouveau sur le bouton B1 pour stopper l'enregistrement.
  • Appui sur B3 pour jouer la séquence qu'il vient d'enregistrer.

Note

La capture d'écran du téléphone correspond à l'ensemble des actions dans l'ordre. Ainsi au début de la vidéo on a le déplacement via l'application puis le jeu d'une séquence enregistrée dans la mémoire du robot et enfin l'enregistrement puis le jeu d'une séquence.

Matériel, Technos & Budget

Technologies utilisés

Le projet se compose exclusivement de développement Arduino. La technologie principale utilisée est donc du C++ avec quelques bibliothèques Arduino supplémentaire notamment pour les moteurs et les modules Bluetooth.

Matériel utilisé

  • 2 roues impression 3D (faible coût de filament)
  • Arduino Uno (1 exemplaire) ( ~20€ )
  • Breadbord petite (1 exemplaire) ( ~5€ )
  • Joystick KY-023 (1 exemplaire) ( ~5€ )
  • Ensemble câbles ( jumpers ) (1 exemplaire)
  • Câble usb B (1 exemplaire)
  • Module Bluetooth HC05 (1 exemplaire) ( ~10€ )
  • Stepper Motor MOTO1 (2 exemplaires) (~10€ * 2)

Coût du matériel pour un robot simple: ~60€

Note : au coût d'un robot simple peuvent d'ajouter des frais supplémentaires si l'on veut faire une télécommande autre et déporté (ajout d'un nouveau module Bluetooth par exemple)

Temps travail

Nous avons travaillé environ 14 heures au fablab.

Coût main d'œuvre : Nombre heures * rémunération smic horaire * nombre membre équipe = 14 * 11 * 2 = 308€

Total budgétisation

Pour le prototypage on peut donc considérer ~370€ pour le coût du matériel et de la main d'œuvre de conception.

À maturité et après mise en marché ce projet coûterait bien moins cher de par les réductions de coût lors de l'achat de matériel en grande quantité et par la non nécessité de facturer à nouveau les heures de conception. Il est sûrement possible de tabuler sur un coût inférieur à 100€

Bilan et pistes d'améliorations

Bilan

Actuellement le robot est un prototype avancé. En effet il ne respecte pas toute la spécification initial, à savoir la présence d'une télécommande universelle mais seulement d'une API simplifié, mais surpasse le Minimum Viable Product (MVP) qui ne portait que sur le déplacement du robot, puisque nous pouvons également le déplacer via Bluetooth et également enregistrer des séquences de mouvement.

Ce retard sur la spécification peut s'expliquer par la forte ambitions que nous avions au début projet sans considérer que nous n'étions que deux et que nous n'avions pas les mêmes compétences techniques.

Ce projet a été (principalement pour Léa) une bonne introduction aux objets connectés. Il reste encore de nombreuses choses à faire comme : ajouter une batterie pour ne plus avoir besoin d'être relié à l'ordinateur, faire un corps plus joli et vérifier si les séquences joués par l'utilisateur sont correctes.

Pistes d'améliorations

Voici quelques pistes d'améliorations:

  • Structurer le casing du robot pour le rendre plus attractif
    • Ajouter de l'isolation entre les câbles et le modules Bluetooth pour éviter des interférences électromagnétiques qui peuvent causer l'envoie d'instructions erratiques au robot.
  • Ajouter un système de vérification / validation des séquences rejoué par l'utilisateur par rapport à celles enregistrées. Peut s'accompagner d'un système de score et d'un système de classement.
  • Ajouter une batterie pour rendre le robot plus autonome
  • Ajouter un système de communication à l'utilisateur:
    • Sous la forme de LED pour spécifier un état donné.
    • Sous la forme de sortie vocal pour parler à l'utilisateur et par exemple le gratifier si il réussit une séquence.
  • Changer les moteurs pour des plus puissant, améliorant ainsi la vitesse et la capacité à avoir un casing plus complexe et donc plus lourd que la simple boîte actuelle.
  • Mettre en place une API utilisable sans passer par le code pour lier des nouvelles télécommandes personnalisables.