Skip to main content

Présentation du projet

cartoon-ai-robot-scene.jpg

Et oui, on y est, l'èère les robots remplacent les hommes. Les diateurs du Fablab n'y coupent pas. Une petite télétélévision, venue tout droit de l'espace, barque au Fablab et entend bien faire gner l'ordre. De l'espace ? L'allure de cosmonaute qu'elle affiche ne dupe personne et son look tro a bien vite fait de nous renseigner sur sa ritable identitéidentité : ce n'est qu'un vieux télétéléviseur des annéannées 70.   Du moins, en apparence...

Objectif du projet :  

L'objectif du projet est de aliser un petit robot pour l'accueil des visiteurs du Fablab.    

Il assurerait diffédifférentes fonctions :  

  • Animation du FabLab
  • Information des visiteurs
  • Appel des diateurs
Cahier des charges :  
Fonctions



FP1 tecter l'arrivéarrivée de nouveaux visiteurs Reconnaissance faciale/forme humaine

FP2 Interagir oralement avec un utilisateur sur la base de questions ferméfermées => demander de pondre par oui ou non !
Reconnaissance vocale/micro

Oui/Non

Yes/No

FP3 Effectuer des mouvements de rotation autour de sa base ( te indéindépendante )
Motorisation de la base

Axe Z : 360°360°

FP4 Avoir diffédifférents modes de fonctionnement fonctionnement 
Logiciel

Actif

Pause

Gentil/chant

FP5 Emettre un signal sonore caractécaractéristique audible dans tout le FabLab pour préprévenir les médiateurs médiateurs  SystèSystème de haut-parleur Combien de DB ?  
FC1 Tenir sur le comptoir àà l'accueil du FabLab Dimensionnement

Longueur : 30 cm

Largueur : 30 cm

Hauteur :   50 cm

Taille de la télétélé ( 20x20x35)

FC2 ÊÊtre nomade, facilement déplaçdéplaçable etet   transportable transportable  Dimensionnement,  


FC3 ÊÊtre alimentéalimentée éélectriquement Branchement secteur ou batterie rechargeable ou charge induction

Volt, AmpèAmpère ?

FC4 Ne pas êêtre trop éénergivore Consommation éélectrique/flux de donnédonnées et Optimisation


FC5 Pouvoir êêtre mis àà jour et fonctionner de façfaçon autonome Connecteur USB / Logiciel Logiciel 


Une idéidée : servir de moniteur "design" = mode de fonctionnement

En mode moniteur : un mode veille = il ferme les yeux et dors, ouvre parfois un œœil, baille ... : si mouvement de souris détectédétecté, sortie du mode veille.

Oui mais l'idéidée n'est pas vraiment de crécréer un PériphéPériphérique. C'est plutôplutôt de crécréer un systèsystème embarquéembarqué AUTONOME qui pourra êêtre facilement déployédéployé dans les quatre coins du Fablab pour pouvoir servir, par exemple, de bornes d'information pour les utilisateurs.  

Alors dans ce cas =>affichage de l'éécran stream ? Trop éénergivore ...  

Ou bien ! => modem ?  

Modem-routeur : wifi ?

Mode robot activé activé 

Si bornes d'information : connexion àà un serveur et envoie de requêrequêtes

=> Base de donnédonnées / ChatBot

Prototype 0

ScéScénario :

Les diateurs Fablab ne sont pas préprésents àà l’l’accueil, le mode "Actif" est activéactivé.

Un visiteur entre au FabLab.  

Le Robot :

-Bonjour, bienvenu(e) au FabLab, êêtes-vous enregistréenregistré(e) ?  

-Oui/Non

Si oui : demandera dans une version ultéultérieure si l'utilisateur a besoin d'information.  

Si non : siffle pour appeler un diateur FabLab

Comment mettre àà jour un systèsystème embarqué embarqué 

Plan d'action :  
  • finir le besoin du client et construire un cahier des charges.
  • Valider le cahier des charges.  
  • Effectuer une recherche biblio, solution open source
  • terminer le type de camécaméra àà utiliser ( module intel kinect module 2 camécaméra : préprétraitement du signal ? )
  • Identifier les diffédifférentes composantes du systèsystème et leurs fonctions.
  • PréPrévoir un dispositif de mises àà jour du logiciel embarquéembarqué
  • Demander des idéidées => faire une affiche !! ( QR code, questionnaire ) : recruter des talents

MatéMatériel et prépré-requis :  

- Hardware/Software ?

- optimisation => Justification des choix !!!

- Python ou C++ ?

langage assembleur ?

- éécran LCD couleur pour visage

- motorisation : Arduino/raspberry ( latence ? )  

- intéintégration du wifi ? communication via le seau ?  

- éécran tactile => configuration/personnalitépersonnalité

- systèsystème de chargement batterie ? secteur ?  

- systèsystème embarquéembarqué : raspberry pi

- Le design : celui de la télétélé mais pas la télétélé !!!

GNU/linux linux  ou Raspberry Pi OS ( ex-raspbian )

Inventaire et estimation des coûcoûts
MatéMatériel
Fonction
DisponibilitéDisponibilité
CoûCoût
Autres infos
Arduino UNO
Motorisation
OUI? - Magasin Fablab
/
Rupture de stock ?
Raspberry Pi (Linux?)
SystèSystème embarquéembarqué
OUI
/

Quel modèmodèle pour notre utilisation ?  

Raspberry Pi 4 modèmodèle B ?

CaméCaméra Module 2 8MP
Reconnaissance facial
OUI - Magasin Fablab
/
Fonctionne avec Raspberry Pi Pi 
ÉÉcran LCD Couleur Tactile
Visage, configuration/personnalitépersonnalité
NON

Moteur Pas àà Pas Motorisation OUI / Fonctionne avec Arduino
Batterie Energie éélectrique
  
Budget prévisionnel prévisionnel 

SchéSchéma de fonctionnement

IMG_0002.jpeg

Important ! SystèSystème de ventilation => ééviter la surchauffe surchauffe 

-> raspberry !  

Le DESIGN :

Inspiration Inspiration 

image.png

Soit le design de la TéléTélé mais comment faire ?  

Soit, inventer un design : demander des idées idées 

-> Faire ce qui est possible au fabLab et qui rentre dans le budget budget 

-> Inclure tous les systèsystèmes àà l'intéintérieur

SchéSchématiser les diffédifférents design et les assembler comme un puzzle

PossibilitéPossibilité de cacher des systèsystèmes dans la base : attention aux dimensions !  

Pour la base de donnédonnées :  

  • conserver les questions poséposées sans ponse pour les ajouter àà la base de donnédonnées

est-ce que j'ai pondu àà vos atteintes ? Non -> appel des diateurs

Carnet de bord :

  • 04/12/2024 : finition des objectifs et des limites du projet. PremièPremière éébauche du cahier des charges
  • 18/12/2024 : Etude bibliographique
  • 06/01/2025 : Etude bibliographique, inventaire du matématériel cessaire et disponible, diagramme.
  • 08/01/2025 : Finalisation du cahier des charges.
  • 13/01/2025 : partition des ches et budgébudgétisation.

Vers l'infini et au-delàdelà

  • afficher les utilisateurs dont le wiki n'est pas àà jour
  • Un systèsystème de badges des cartes éétudiantes ? => problèproblème concernant la confidentialitéconfidentialité des donnédonnées
  • full systèsystème de communication ( GPT )
  • serveur déportédéporté/renvoie de requêrequête
  • systèsystème LoRaWAN ( antenne radio ) => biper les emplois éétudiants ! Si un robot n'a pas ussi àà pondre àà la demande de l'utilisateur ( composante RF radiofréradiofréquence )

SpécificitéSpécificité plus techniques liéliées àà l'optimisation :

- temps d'exéexécution des tâches tâches 

Choix d'un nom ?  

  • Le FabBOT FabBOT 

Comments Alex:

Il faudrait faudrait  commencer àà aliser des essais et tenter d'avoir un Minimum Viable Product afin d'avoir une 'base' sur laquelle itéréitérée (il y aura d'autres probléproblématiques que nous allons couvrir). Commencer avec quelque chose de trètrès basique et ensuite itéitérer et améaméliorer, pas essayer d'avoir le produit final parfait au premier coup. Laisser l'esthéesthétique et optimisation pour la fin, pas pour le but;

Il serait intéintéressant de commencer par exemple par tester YOLO, qui peut êêtre utiliséutilisé localement (Python) et qui est utile pour la tection visuelle.

Ensuite il est possible d'interfacer avec une carte ESP32 via le port serial et on pourrait connecter des moteurs àà une camécaméra et faire du tracking en temps el. Cela peut êêtre intéintéressant éégalement pour la partie de reconnaissance vocal (on peut directionner le micro par exemple...).

L'ESP32 peut crécréer voir se connecter àà un seau wifi, donc pas besoin de LoRA. Les ESP-XIAO sont trètrès petit, peut coûcoûteux et peuvent êêtre un choix sensésensé.

-> les ESP peuvent êêtre des clients dans le serveur et recevoir les fameux pings quand quelqu'un est àà l’l’accueil par exemple.

Ensuite le code Python peut interfacer, une fois il tecte quelqu'un, avec un modèmodèle entraînéentraîné pour la partie de reco. vocal, et l'activer...

Une fois ceci réaliséréalisé, il serait sormais, et pas avant (àà mon avis), une bonne idéidée de s'interroger sur la partie esthéesthétique du projet/ produit final .final...

Premier essais:

tracking avec YOLO et sortie avec serial connectéconnecté àà un arduino uno.

code:   https://github.com/alexcrrera/fablabBot/blob/main/fabu.py

 

image.png

Le centre relatif de la détédétéction (le point rouge) est envoyéenvoyé àà l'arduino pour centrer la camécaméra. Il faudrait trouver une webcam et faire un support avec les servomoteurs du fablab (ceux qui sont labellélabellés "servo ++",   les "bleus" ne sont pas du tout suffisament puissant.

 


Bibliographie Bibliographie 

Notion : informatique, éélectronique, systèsystème embarquéembarqué, systèsystème interactif, PSoC

SystèSystème de motorisation

https://arduino-france.site/moteur-pas-a-pas/

https://www.aranacorp.com/fr/pilotez-un-moteur-cc-avec-arduino/amp/

SystèSystème embarquéembarqué

https://perso.univ-lyon1.fr/jean-patrick.gelas/doc/sle/embarque-support_de_cours-2020-a-distance.pdf

https://test-logiciel.fr/article/logiciel-embarque-definition-exemples-avantages-et-inconvenients/

https://fr.wikipedia.org/wiki/Modem

https://f2school.com/wp-content/uploads/2020/03/Syst%C3%A8mes-embarqu%C3%A9s-cours-01.pdf

https://www.mcours.net/cours/pdf/leilclic3/leilclic667.pdf

https://objets.ccdmd.qc.ca/manuel/1-5-presentation-darduino-et-de-son-environnement-de-developpement/

Les Fondamentaux des SystèSystèmes EmbarquéEmbarqués : Un Guide pour les butants

DifféDifférence entre Arduino et Raspberry pi

Cours SystèSystèmes EmbarquéEmbarqués : Introduction

ROS - Robot Operatin System

ROS tutorial

Rosserial

ROS and Arduino

ROS and Raspberry pi

What is ROS2 ?

Building a ROS Robot for Mapping and Navigation

The ROS Transform System

CaméCaméra et reconnaissance de forme humaine

ESP32 et CaméCaméra + algorithme python ( voir wiki Akli & Wang )

https://fr.amen-technologies.com/real-time-face-recognition-with-raspberry-pi

Reconnaissance vocale

https://peerdh.com/fr/blogs/programming-insights/implementing-real-time-speech-recognition-on-raspberry-pi-using-tensorflow-lite

https://www.raspberry-pi.ovh/blog/index.php?creer-une-interface-vocale-et-commander-votre-raspberry-pi

Affichage et éécran LCD tactile

https://testeurjoe.fr/test-du-moniteur-raspberry-pi-moniteur-portable-bien-construit-qui-fonctionne-avec-nimporte-quel-appareil-compatible-hdmi/

SystèSystème serveur/Wifi ?

https://www.raspberry-lab.fr/Debuter-sur-Raspberry-Francais/Connecter-le-Raspberry-Pi-au-Wifi/

https://raspberrytips.fr/configurer-wifi-raspberry-pi/

https://monraspberry.com/connexion-a-distance-sur-un-raspberry-pi/

https://raspberrytips.fr/raspberry-pi-connect-tutoriel/

https://raspberry-pi.fr/connecter-ssh-raspberry-pi/