IMA3/IMA4 2018/2020 P3 : Différence entre versions

De Wiki de Projets IMA
(Semaine 12)
(Semaine 12)
Ligne 290 : Ligne 290 :
 
'''HARDWARE'''
 
'''HARDWARE'''
 
Finition de la dissection du robot, cette manipulation nous prend du temps, en effet chaque câble retiré est retrenscrit sur un schéma de câblage, dans l'espoir d'être capable de remonter le robot.
 
Finition de la dissection du robot, cette manipulation nous prend du temps, en effet chaque câble retiré est retrenscrit sur un schéma de câblage, dans l'espoir d'être capable de remonter le robot.
(Schéma de câblage à mettre)
+
[[Fichier:Schema.PNG]]
  
 
En parrallèle on commence la conception d'un nouveau shield sur le logiciel Altium.
 
En parrallèle on commence la conception d'un nouveau shield sur le logiciel Altium.

Version du 24 mai 2019 à 15:14


Présentation générale

Description

Ce projet à pour but de réaliser un robot autonome capable de se déplacer en toute sécurité et d'interagir avec les personnes aux alentours. Son utilisation première sera d'accueillir les visiteurs à Polytech et de les conduire à une salle particulière en empruntant le chemin le plus optimisé (pour lui et pour la personne).

Objectifs

Pour réaliser ce robot, il faut pouvoir le programmer pour qu'il puisse se repérer dans son environnement, à l'aide de capteurs et d'une kinect. Il faut ensuite intégrer une synthèse vocale et gérer l'écran pour qu'il puisse communiquer. Pour accompagner au mieux la personne, il devra savoir prendre les ascenseurs (en appuyant sur les bons boutons ou en demandant aux personnes d'appuyer sur tel ou tel bouton). Enfin, il faudra gérer la batterie et la recharge de ce robot.

Analyse du projet

Positionnement par rapport à l'existant

Analyse du premier concurrent : Pepper

"Pepper de SoftBank Robotics"


SoftBank Robotics est une société de robotique japonaise parmi les leaders mondiaux dans le domaine de la robotique humanoïde. Ils ont de nombreux clients comme par exemple Renault, BMW, Carrefour... Son affiliation avec une banque lui permet de bénéficier de gros apports financiers pour la conception de leurs robots. En 2014, le robot Pepper est lancé. Il doté d'un écran et de caméras pour intéragir avec son entourgae. Par exemple, il reconnait les visages et les émotions. Il peut communiquer grâce à son écran tactile et la parole grâce à la synthèse vocale.


Points forts Points faibles
  • Reconnaissance vocale
  • Reconnaissance faciale
  • Liberté/Fluidité de mouvement
  • Perception du regard
  • Ecran tactile
  • Caméra 2D/3D pour la navigation
  • Dialogue en 15 langues
  • Lenteur
  • Sensible au bruit
  • Petite taille
  • Ecran peu lisible


Caractéristiques techniques:

  • Dimensions (en cm): 120 x 42.5 x 48.5
  • Poids: 28 kg
  • Charge utile: 500g à bout de bras
  • Automonie: environ 12h
  • Vitesse max: 5km/h


https://www.softbankrobotics.com/emea/fr/pepper

Analyse du second concurrent : Heasy

"Heasy de Hease Robotics"

Notre deuxième concurrent est la compagnie HEASE Robotics créée en 2016, qui se situe à Villeurbanne, près de Lyon. Cette compagnie s’attache particulièrement au marché des robots de service professionnel dans les domaines du retail et de la relation client avec son robot HEASY. Ce robot est présent dans des environnements tels que des centres commerciaux, des aéroports, des gares ou encore des entreprises. Il est capable de divertir, de guider, d'accueillir et de donner des informations simples aux clients, pour des informations plus complexes il met directement le client en relation avec un agent d'accueil. Avec la possibilité d’une mise en place d’un ensemble de robot HEASY dans un de ces lieux, l’agent d'accueil pourrait alors voir ses capacités démultipliées.

Points forts Points faibles
  • Taille d'un adulte
  • Grand écran tactile HD 19"
  • Interface ergonomique
  • Autonomie de 8h et recharge intelligente rapide (3h)
  • Lenteur
  • Pas d'assistance vocale
  • Pas d'interaction autonome avec l'utilisateur
"Exemples d'application d'Heasy"

https://heaserobotics.com/heasy-for-retail/

Analyse du troisième concurrent : Keylo

"Keylo de Wycas Robotics"

Wycas Robotics est une start up toulousaine lancée en octobre 2015,qui développe des solutions d'accueil et d'assistance physique du client à distance. La start up commercialise Keylo, un robot d'accueil à navigation autonome qui accompagne le visiteur dans les centres de stockage et le met en relation avec des téléopérateurs par visioconférence. Après avoir fait une levée de fonds de 350 000 euros auprès de ses actionnaires, la société à décidée d'exporter son robot Keylo dans le milieu médical. Dans cette situation le robot sera destinée à l'accueil et au service du patient en milieu hospitalier. Dressé sur roues, Keylo se déplace grâce à un laser complété par une caméra 3D et un odomètre.


Points forts Points faibles
  • Grand écran tactile
  • Interface ergonomique
  • Vidéoconférence enregistrée
  • Longue autonomie
  • Distributeur d'objet
  • Très imposant
  • Lenteur
  • Pas d'assistance vocale
  • Pas d'interaction autonome avec l'utilisateur

http://www.wyca-robotics.com/

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

Le robot envisagé se présenterait à l'accueil de l'école. Comme souvent, des intervenants extérieurs viennent faire des présentations. Il peut être difficile de trouver certaines salles quand on ne connaît pas l'école. C'est à ce moment là que le robot Centaure intervient. Le visiteur se dirige vers le robot. Ce-dernier va le repérer et lui proposer ses services (indiquer le chemin ou guider la personne jusqu'à la salle). Le visiteur sélectionne le service souhaité (directement sur l'écran ou vocalement).

  • Dans le premier cas, il affiche le plan de l'école et décrit l'itinéraire.
  • Dans le second cas, il accompagne la personne jusqu'à la destination souhaitée en empruntant le chemin le plus adapté (prendre l'ascenseur, éviter les couloirs bondés).

Une fois la mission accomplie, il retourne à l'accueil, prêt à accueillir une nouvelle personne. Il peut aussi recevoir une requête d'une personne perdue dans Polytech via le site internet du robot.

Réponse à la question difficile

Questions difficiles :

1) Au niveau de l'ascenseur, l'étage est-il choisi par la personne ou le robot ?
L'étage sera choisi par le personne qui suit le robot, en effet le robot est incapable d'appuyer sur un bouton, il n'a pas de bras qui permette une telle pression. Mais il proposera à la personne l’étage.

2) Comment gérer l'ouverture de la porte de l'ascenseur ? Il est possible que l'ascenseur ouvre ses portes au mauvais étage.
Nous avons une solution, les QRs codes. Grâce à la Kinect le robot lira le QR code et captera l'étage actuel. Il pourra ensuite agir en fonction de la consigne de départ.

Bibliographie et webographie

Site robot Pepper : https://www.softbankrobotics.com/emea/fr/pepper
Site robot Heasy : https://heaserobotics.com/heasy-for-retail/
Site robot Keylo : http://www.wyca-robotics.com/

Préparation du projet

Cahier des charges du groupe

La mission du robot Centaure est de guider une personne dans Polytech jusqu'à la salle requise. Pour cela, le robot doit prendre contact avec la personne. Il repère la personne ou cette dernière interagit avec lui à l'aide de l'application/site Web et lui donne sa requête (le conduire à telle salle ou lui indiquer le chemin à prendre pour rejoindre telle salle). Soit le robot affiche la carte de l'école sur l'écran, soit il conduit la personne à la salle. Pour cette dernière mission, le robot va se déplacer de manière autonome dans Polytech jusqu’à la salle. Il va se repérer dans l'espace grâce à des capteurs et des qr code disposés dans l'école. Il pourra ainsi prendre l'ascenseur et s'assurer qu'il est au bon endroit.

Objectif du semestre 6:

Nous devons faire le bilan technique du robot et analyser les améliorations que nous pouvons apporter comme par exemple réorganiser la partie mécanique. Nous devons aussi pouvoir utiliser la kinect pour lire des QR codes et faire en sorte que le robot se déplace de manière autonome à l'aide de ses capteurs.

  • Repérage dans l'espace
    • Utiliser différents capteurs: Ne pas heurter les utilisateurs
    • Cartographier l'école avec les différentes positions des salles (QR code ascenseur, triangularisation pour la position)
    • Effectuer le déplacement vers les salles
  • Communication extérieure
    • Gestion de la synthèse vocale
    • Créer une interface Homme/Machine

Cahier des charges des équipes

Equipe 1 : Théo et Valériane: Communication extérieure

Notre équipe s'occupe de la communication du robot avec les personnes qui l'entourent. Nous allons gérer la partie interaction du robot en réalisant une reconnaissance vocale et une synthèse vocale. On s'occupera aussi de l'affichage sur l'écran intégré au robot. On affichera des informations diverses sur les services qu'il propose (affichage d'une carte interactive, choix de la salle à atteindre).

Equipe 2 : Corentain et Loïc

Notre équipe s'occupant du traitement des images renvoyées par la Kinect nous devront apprendre à utiliser la librairie C libfreenect ce qui nous permettra d'analyser les informations reçues par la Kinect.
Nous devrons donc réussir à repérer un visage qui se trouvera devant la Kinect mais aussi repérer les différents QR code disposés dans l'école par l'équipe 3 et utiliser les informations qu'ils donneront.

Equipe 3 : Thibault et Pierre

    • Savoir se repérer dans l'espace à l'aide d'une triangulation par le Wi-Fi de Polytech et un système odométrique.
    • Savoir recalibrer sa position en lisant des balises placées dans Polytech.
    • Eviter les obstacles ou s'arrêter en cas d'urgence.
    • Calculer un itinéraire afin de trouver le chemin le plus court.

Choix techniques : matériel et logiciel

Equipe 1

  • Ecran:
    • Ecran actuel non tactile (à changer ?)
  • Synthèse vocale:
    • Haut parleur
    • Logiciel :
  • Reconnaissance vocale:
    • Utilisation de la reconnaissance vocale de la Kinect

Equipe 2 : Loïc et Corentain

Matériel :

  • D'une Kinect

Logiciel :

  • Nous utiliseront seulement de la programmation en C ainsi que la librairie libfreenect pour l’analyse et le traitement d’image.

Equipe 3

Logiciel : https://www.indooratlas.com/

QR code


Kinect

Liste des tâches à effectuer

Equipe 1: Communication extérieure

Notre équipe s'occupe de la communication entre le robot et l'utilisateur. Cela se fera par l'intermédiaire de l'écran, d'un site internet ou application et d'une synthèse vocale.

  • Ecran:
    • Affichage d'un visage, animation de celui-ci
    • Affichage du texte
    • Affichage de la carte de l'école
  • Synthèse vocale:
    • Prise de contacte avec l'humain
    • Donner des indications de parcours
    • Plusieurs langues disponibles
  • Reconnaissance vocale:
    • Micro pour entendre la requête de l'humain
    • Plusieurs langues reconnues
  • Site internet / application
    • Soumettre des requêtes au robot

Equipe 2 : Loïc et Corentain

Notre équipe s'occupant du traitement des images renvoyées par la Kinect nous devront mettre en place :

  • Le repérage d'une ou de plusieurs personnes se situant devant l'écran.
  • Le scan des QR codes présent dans Polytech

Equipe 3

Notre équipe s'occupera de la partie déplacement du robot :

    • Cartographier l'école Polytech
    • Définir des zones de tags
    • Effectuer un déplacement vers un endroit précis

Calendrier prévisionnel

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

Equipe 1

https://www.wrike.com/workspace.htm?acc=2625516#path=folder&id=323417371&p=323416816&a=2625516&c=timeline3&so=10&bso=10&sd=0&st=nt-1

Equipe 2

Equipe 3

Réalisation du Projet

Projet S6

Eventuellement créer des sous-pages par équipe avec le compte-rendu des réunions de groupe sur cette page principale.

Semaine 4

Lors de cette séance, nous avons établi le cahier des charges par équipe pour nous répartir le travail. Nous avons ensuite rédigé le calendrier prévisionnel complet pour le projet.

Semaine 5

Nous avons profité de cette séance pour prendre connaissance de l'avancement des IMA 5 sur le projet. Nous avons discuté avec eux des différentes spécificité du robot (allumage du robot, présence du bouton d'urgence, problème avec l'écran..). Nous avons aussi récupéré les differents documents présentant le robot (rapport de PFE, codes du robot et du site) pour etre complètement autonome lors du départ des IMA5.

Semaine 6

Le projet IMA5 étant terminé, nous allons pouvoir commencer à prendre en main le robot. Nous avons tout d'abord essayé de l'allumer. Cependant, lors de la démonstration des IMA5, ils avaient modifié le code pour commander le robot avec le site web. N'ayant pas encore les bonnes configurations pour utiliser le site web, nous avons modifié le code pour remettre par défaut la liaison série. Lors du démarrage, nous avons remarqué un dysfonctionnement au niveau de la roue droite. Après vérification des branchements, nous avons remarqué un faux contact au niveau du variateur de vitesse. Après avoir resséré le c^able, la roue tournait. Il ne restera plus qu'à gonfler les pneus et améliorer la direction. En effet, il ne suit pas exactement les directions qu'on lui donne.

Semaine 7

Prise en main du projet. Nous avons remplacé l'écran de base qui s'éteignait au bout de 10 secondes par un autre. Mais le problème persiste. On pense à un problème d'alimentation car lorsque l'on branche un écran alimenté sur secteur, tout fonctionne. Ensuite, nous avons décidé d'installer l'IDE Arduino directement sur le robot pour simplifier la programmation de ce dernier.

https://fr.rs-online.com/web/p/convertisseurs-dc-dc-isoles/0183764/

Semaine 8

Comme le problème de l'écran n'était pas encore résolu, nous nous somme concentré sur celui-ci. Durant la séance, nous avons remarqué que l'écran ne s'éteignait pas, mais c'était le rétroéclairage de l'écran qui diminuait considérablement après quelques secondes. Nous avons donc mesuré la tension d'entrée de l'écran et nous nous sommes rendu compte que cette tension était égale à 11,7V. Nous avons donc testé l'écran sur secteur et nous avions bien une tension de 12,4V. L'écran était donc sous alimenté, ce qui explique la diminution du rétroéclairage de l'écran. Après avoir lu la datasheet du convertisseur DC/DC RSD-150-B-12 utilisé pour le robot. Comme le convertisseur n'est pas modulable et ne délivre pas 12V pile, nous en avons conclu qu'il n'était pas adapté au système et devait être remplacé. En parallèle, nous avons remarqué que le câblage interne n'était pas assez organisé pour pouvoir manipuler l'intérieur du robot avec aisance. En effet, les câbles prenaient beaucoup de place dans le robot, ce qui fait que nous ne pouvions pas accéder correctement aux différents ports du PC. Nous avons donc décidé de réorganiser le câblage interne.

Semaine 9

Nous avons donc commencé par réaliser des schémas de câblage et étiqueter les câbles que nous allons réutiliser lors du nouveau câblage.

Semaine 10

Nous avons lancé la commande du convertisseur DC DC pour l'alimentation de l'écran. Nous avons divisé le groupe pour s'occuper des deux enjeux majeurs: refaire une carte PCB sur Altium et réaliser la synthèse et la reconnaissance vocale. Pour la carte PCB, nous voulons utiliser des borniers pour les pins pour que le câblage soit plus propre.

Semaine 11

HARDWARE:

Nous avons reçu le nouveau convertisseur DC DC. Nous avons procédé à des test de celui-ci. Il semble chauffer un peu trop (Pierre dit: "On a dead ça")

Oupsi.jpg

Le nouveau convertisseur alimente l'écran correctement, en un peu plus de 13V, cela corrige le problème de stabilité de l'écran, cependant après quelques minutes de la fumée semble se dégager du robot? A la vue de l'inquiètante fumée se dégageant du robot, nous décidons de procèder au décablage complet dans le but d'identifier les éventuels éléments ayant brûlés. De plus le décablage complets du robot nous permettra de mieux comprendre le fonctionnement de celui-ci et de procéder à un recâblage plus propre.


SOFTWARE:

Des recherches sont effectuées dans le but de trouver et comprendre le fonctionnement d'une synthèse vocale. Le système MaryTTS semble être un bon candidat, cependant nous ne parvenons pas à l'installer. Nos recherche continue donc dans le but de trouver une synthèse vocale si possible codée en C

Semaine 12

HARDWARE Finition de la dissection du robot, cette manipulation nous prend du temps, en effet chaque câble retiré est retrenscrit sur un schéma de câblage, dans l'espoir d'être capable de remonter le robot. Schema.PNG

En parrallèle on commence la conception d'un nouveau shield sur le logiciel Altium. L'objectif de ce nouveau shield est de permettre l'utilisation de borniers pour maintenir les différents câbles et ainsi obtenir un câblage plus propre et plus sécurisé. Cependant notre méconnaissance du logiciel Altium complique cette tâche. Découverte du site https://www.snapeda.com/parts/282836-2/TE%20Connectivity%20AMP%20Connectors/view-part/?ref=search&t=282836-2

SOFTWARE Les recherches d'une synthèse vocale continuent


https://community.gladysassistant.com/t/tutoriel-gladys-et-la-reconnaissance-vocale/1419 https://community.gladysassistant.com/t/tutoriel-installation-kinect-pour-la-reconnaissance-vocale/1495

Semaine 13

Nous avons entièrement démonté la partie supérieure du robot pour s'assurer qu'il n'y avait pas de câbles défecteux qui auraient pu causer la fumée. Dans un même temps, nous faisons des tests avec la Kinect pour comprendre le fonctionnement et réussir à utiliser la caméra pour la future reconnaissance faciale et le micro pour la future reconnaissance vocale.Cependant, après quelques échecs, on se demande s'il ne faudrait pas plutôt utiliser une simple webcam à la place de la kinect.

Semaine 14

Nous travaillons sur la nouvelle carte PCB.Pour plus de stabilité, nous allons utiliser des borniers à la place de simples headers. Cependant, nous avons uniquement pu récupérer le fichier .PCBdoc des IMA5 sans leur schematic. Cela ralentit notre progression car cela nous impose l'utilisation du logiciel Altium que nous ne maitrisons pas. De plus, nous avons du importer le bornier que nous allons utiliser car il n'était pas présent dans la bibliothèque de base. Maintenant que nous avons le composant, nous n'arrivons pas à le relier aux autres composants avec des pistes. Nous demandons l'aide d'Alexandre Boé pour nous expliquer. Nous avons réussi à faire fonctionner la caméra de la kinect à l'aide d'un logiciel

THEO MET LES LIENS PLEASE

Semaine 15

Après avoir démonté l'étage supérieur du robot, nous avons analysé ce qui aurait pu entraîner la création de fumée dans le robot. Comme la fumée semblait venir de l'espace entre les variateurs de vitesse, nous nous sommes dit que cela venait d'un des variateurs. Cependant, en aucun cas le nouveau convertisseur est relié aux variateurs et les variateurs n'avaient pas d'anomalie lorsque nous étions avec l'ancien convertisseur DC/DC. La fumée ne venait donc pas des variateurs. Ensuite, nous avons cherché des endroits où il y aurait pu avoir des court-circuits ou des câbles en mauvais état pouvant entraîner une surchauffe de la gaine protectrice des fils électriques. Mais là encore, les câbles n'avaient pas de défauts en particulier. Les seuls câbles étant en mauvais état ont été retiré et changés lorsque nous avons commencer à refaire le câblage de la partie supérieure de l'intérieur du robot.

Documents Rendus

Projet S7

Documents Rendus

Projet S8

Documents Rendus