{"id":5988,"date":"2020-02-07T10:50:21","date_gmt":"2020-02-07T09:50:21","guid":{"rendered":"https:\/\/telefab.fr\/?p=5988"},"modified":"2026-04-30T17:33:59","modified_gmt":"2026-04-30T15:33:59","slug":"robot-pepper-hackathon-ensibs-2020","status":"publish","type":"projet","link":"https:\/\/hub.imt-atlantique.fr\/fablab\/projet\/robot-pepper-hackathon-ensibs-2020\/","title":{"rendered":"Robot Pepper &#8211; Hackathon ENSIBS 2020"},"content":{"rendered":"<h2>\u00a0Contexte<\/h2>\n<p><span style=\"font-weight: 400;\">Dans le cadre de notre intersemestre nous avons particip\u00e9 au hackathon 2020 de l\u2019ENSIBS (Ecole Nationale Sup\u00e9rieure d&rsquo;Ing\u00e9nieurs de Bretagne-Sud). Ce hackathon a \u00e9t\u00e9 organis\u00e9 en collaboration avec la chaire Maintien@Domicile, commune \u00e0 l\u2019ENSIBS et IMT Atlantique en partenariat avec le centre de r\u00e9\u00e9ducation Kerpape. Durant cet \u00e9v\u00e8nement (se d\u00e9roulant sur 2 jours et demis) nous devions travailler <\/span><span style=\"font-weight: 400;\">sur un projet concret et utile autour d\u2019un challenge handicap et num\u00e9rique, en formant des \u00e9quipes mixtes avec des \u00e9tudiants de l&rsquo;ENSIBS en m\u00e9catronique..<\/span><\/p>\n<h2>Pr\u00e9sentation du projet<\/h2>\n<p><span style=\"font-weight: 400;\"><a href=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2020\/02\/IMG_20200131_200722.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-5991 alignleft\" src=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2020\/02\/IMG_20200131_200722.jpg\" alt=\"\" width=\"175\" height=\"234\" \/><\/a>Nous avons choisi de travailler sur un projet d&rsquo;am\u00e9lioration des fonctionnalit\u00e9s du robot Pepper.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Pour contextualiser, Pepper est un robot fran\u00e7ais qui sert principalement \u00e0 l\u2019assistance et la pr\u00e9sentation. Il a \u00e9t\u00e9 utilis\u00e9 dans des travaux de d\u00e9veloppement de comportement sociaux avec des enfants autistes mais aussi dans des sc\u00e9narios de lev\u00e9e de suspicion d&rsquo;\u00e9tat anormal (chute, malaise, oubli de soi, etc.).<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Ce robot est tr\u00e8s facilement programmable gr\u00e2ce \u00e0 un logiciel <\/span><span style=\"font-weight: 400;\">de d\u00e9veloppement appel\u00e9 \u201c<\/span><b>Choregraphe\u201d<\/b><span style=\"font-weight: 400;\">.\u00a0 Le logiciel est pr\u00e9vu avec une interface graphique permettant de faire des blocs de programmation et des liaisons entre blocs. Il suffit de glisser-d\u00e9poser des blocs de fonctionnalit\u00e9s fournis et de les relier entre eux afin de d\u00e9finir un sc\u00e9nario d\u2019utilisation. Si jamais nous cherchons \u00e0 utiliser une fonctionnalit\u00e9 qui n\u2019est pas d\u00e9j\u00e0 disponible, on peut facilement coder son propre bloc en python.<\/span><\/p>\n<p><a href=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2020\/02\/image6.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-5993 size-full\" src=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2020\/02\/image6.png\" alt=\"\" width=\"1914\" height=\"995\" \/><\/a><\/p>\n<p style=\"text-align: center;\">Capture d&rsquo;\u00e9cran du logiciel Choregraphe<\/p>\n<h2><\/h2>\n<h2>Pr\u00e9sentation de l\u2019\u00e9quipe<\/h2>\n<ul>\n<li><b>\u00c9tudiants m\u00e9catronique de l\u2019ENSIBS <\/b><span style=\"font-weight: 400;\">: Maxime Dubois, Alexis Eveno, Chlo\u00e9 Humbert, Salom\u00e9 Leguede, Erwan Le Texier<\/span><\/li>\n<li><b>\u00c9tudiants IMT Atlantique<\/b><span style=\"font-weight: 400;\"> : Th\u00e9o Fontenit, Arnaud Allemang&#8211;Trivalle<\/span><\/li>\n<\/ul>\n<p><a href=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2020\/02\/image2.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-5995\" src=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2020\/02\/image2.jpg\" alt=\"\" width=\"1999\" height=\"1500\" \/><\/a><\/p>\n<h2>Objectifs du projet<\/h2>\n<p><span style=\"font-weight: 400;\">Une liste d\u2019objectifs \u00e0 r\u00e9aliser nous a \u00e9t\u00e9 fournis lorsque nous avons commenc\u00e9 le projet. A cause du manque de temps et de soucis techniques, nous n\u2019avons pas pu r\u00e9aliser tous ces objectifs bien qu\u2019une majorit\u00e9 de ceux-ci ont \u00e9t\u00e9 atteints.<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Programmer et reprendre en main les programmes de visites Chaire et portes ouvertes ENSIBS<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Programmer le robot afin de red\u00e9marrer de fa\u00e7on autonome avec un programme pr\u00e9d\u00e9fini<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Ajouter la fonctionnalit\u00e9 de d\u00e9placement du robot<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Ajouter la fonctionnalit\u00e9 de mise en relation en visio avec l\u2019ext\u00e9rieur<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Piloter des fonctionnalit\u00e9s par la voix<\/span><\/li>\n<\/ul>\n<h2>Sc\u00e9narios<\/h2>\n<p><span style=\"font-weight: 400;\">A partir des diff\u00e9rents objectifs nous avons imagin\u00e9 2 sc\u00e9narios d\u2019utilisation \u00e0 ajouter aux fonctionnalit\u00e9s d\u00e9j\u00e0 pr\u00e9sentes sur le robot. En effet, ces sc\u00e9narios servent \u00e0 permettre une utilisation concr\u00e8te et r\u00e9fl\u00e9chie des diff\u00e9rentes fonctionnalit\u00e9s que nous souhaitions d\u00e9velopper.\u00a0<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Lors des derni\u00e8res portes ouvertes de l\u2019ENSIBS, Pepper \u00e9tait capable de pr\u00e9senter l\u2019\u00e9cole, la chaire Maintien@Domicile et d\u2019\u00e9changer avec les visiteurs sur certains sujets. Le premier sc\u00e9nario consiste \u00e0 compl\u00e9ter cette visite en permettant au robot de suivre automatiquement son interlocuteur.<\/span><\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Le second sc\u00e9nario est un sc\u00e9nario d\u2019aide \u00e0 la personne. L\u2019id\u00e9e est que Pepper vienne au secours d\u2019une personne lorsqu\u2019elle appelle \u00e0 l\u2019aide, et qu\u2019il puisse appeler automatiquement les secours. L\u2019appel en question peut \u00eatre soit un appel t\u00e9l\u00e9phonique, un SMS ou une visioconf\u00e9rence. Dans le dernier cas, les secours peuvent d\u00e9terminer la gravit\u00e9 de la situation et agir en cons\u00e9quence.<\/span><\/li>\n<\/ul>\n<h2>D\u00e9roulement du Hackathon<\/h2>\n<p><span style=\"font-weight: 400;\">Pour travailler sur ce projet nous avons d\u00e9cid\u00e9 de diviser notre groupe en 2 sous-groupes, un par sc\u00e9nario. 3 \u00e9tudiants ont principalement travaill\u00e9 sur le premier sc\u00e9nario et sur les livrables tandis que le second groupe compos\u00e9 des 4 personnes restantes s\u2019est concentr\u00e9 sur le second sc\u00e9nario.<\/span><\/p>\n<ul>\n<li>\n<h3><b>Premier Sc\u00e9nario<\/b><\/h3>\n<\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Comme d\u00e9crit pr\u00e9c\u00e9demment, le premier sc\u00e9nario consiste \u00e0 suivre une personne tout en pr\u00e9sentant l\u2019\u00e9cole. Pour commencer, nous sommes partis sur un assemblage <\/span><i><span style=\"font-weight: 400;\">bloc<\/span><\/i> <i><span style=\"font-weight: 400;\">tracker<\/span><\/i><span style=\"font-weight: 400;\">, <\/span><i><span style=\"font-weight: 400;\">temporisation<\/span><\/i><span style=\"font-weight: 400;\"> et fonction <\/span><i><span style=\"font-weight: 400;\">move to<\/span><\/i><span style=\"font-weight: 400;\"> pour que le robot suive une personne. En r\u00e9alit\u00e9, apr\u00e8s avoir fait beaucoup d\u2019essais, nous avons d\u00e9couvert qu\u2019il y avait une solution beaucoup plus simple.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">En effet, il est possible de programmer le robot avec le bloc de programmation <\/span><i><span style=\"font-weight: 400;\">people tracker<\/span><\/i><span style=\"font-weight: 400;\">, qui r\u00e9alise le rep\u00e9rage des personnes en plus du guidage. Ce bloc est compos\u00e9 de trois modes : <\/span><i><span style=\"font-weight: 400;\">face<\/span><\/i><span style=\"font-weight: 400;\">, <\/span><i><span style=\"font-weight: 400;\">whole body<\/span><\/i><span style=\"font-weight: 400;\"> et <\/span><i><span style=\"font-weight: 400;\">move<\/span><\/i><span style=\"font-weight: 400;\">. Pour le premier cas, la t\u00eate du robot suit le visage de la personne. Dans le 2\u00e8<\/span><span style=\"font-weight: 400;\">me<\/span><span style=\"font-weight: 400;\"> cas, elle suit le corps d\u2019une personne. Enfin, dans le dernier mode, Pepper va suivre la personne.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Afin d\u2019\u00e9viter que Pepper ne percute un obstacle ou une personne lors de son d\u00e9placement, nous avons utilis\u00e9 le bloc <\/span><i><span style=\"font-weight: 400;\">Set External Anti-Collision<\/span><\/i><span style=\"font-weight: 400;\"> qui permet d\u2019arr\u00eater le robot d\u00e8s qu\u2019il d\u00e9tecte un obstacle.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Un probl\u00e8me est survenu lors de la d\u00e9tection de la personne \u00e0 suivre. Dans le cas o\u00f9, une autre personne passe devant la personne suivie par Pepper, celle-ci se met \u00e0 suivre la deuxi\u00e8me personne. Pour r\u00e9soudre ce probl\u00e8me, nous avons ajout\u00e9 la m\u00e9morisation des visages. Cela permet au robot de ne suivre que la personne enregistr\u00e9 au d\u00e9part de la visite.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Enfin, nous avons am\u00e9lior\u00e9 le suivi de personne en impl\u00e9mentant des mots cl\u00e9s qui permettent de lancer le d\u00e9placement du robot: Suis-moi, suivre etc.<\/span><\/p>\n<ul>\n<li>\n<h3><b>Deuxi\u00e8me Sc\u00e9nario\u00a0<\/b><\/h3>\n<\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Le deuxi\u00e8me sc\u00e9nario est un peu plus complexe. Il consiste \u00e0 porter secours \u00e0 une personne en danger.\u00a0<\/span><\/p>\n<h4 style=\"padding-left: 60px;\"><b>Des solutions non abouties<\/b><\/h4>\n<p><span style=\"font-weight: 400;\">Le sous objectif principal du sc\u00e9nario d\u2019aide \u00e0 la personne en danger, est notamment de passer un appel en visioconf\u00e9rence.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Une des solutions trouv\u00e9es a \u00e9t\u00e9 de pouvoir cr\u00e9er un serveur web de conf\u00e9rence. Cette solution induit de cr\u00e9er un serveur sur \u00ab ngrok \u00bb. Cette solution n\u2019a pas abouti car nous avions trouv\u00e9 le moyen de g\u00e9n\u00e9rer une page web sur Pepper via Choregraphe (cf programme Python ci-dessous). Cela permet de t\u00e9l\u00e9charger des applications du site d\u2019Aldebaran Robotics mais il n\u2019est pas possible de t\u00e9l\u00e9charger des applications type \u00ab google duo \u00bb pour r\u00e9aliser des visioconf\u00e9rences \u00e0 cause d\u2019un probl\u00e8me de droits.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">D\u00e9velopper une application pour l\u2019appel visio en suivant des instructions sur Microsoft Azure est une autre solution. Il est alors possible de cr\u00e9er une machine virtuelle et de la configurer pour la visio, mais au vu de la complexit\u00e9, cette solution n\u2019a pas \u00e9t\u00e9 d\u00e9velopp\u00e9e.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Nous avons d\u00e9cid\u00e9 de dissocier l\u2019appel t\u00e9l\u00e9phonique et la visio. Pour le second cas, il est possible d\u2019utiliser le r\u00e9seau \u00ab WebRTC \u00bb avec Pepper en tant que module technique. Cependant, nous n\u2019avons pas poursuivi cette solution et nous nous sommes concentr\u00e9 sur l\u2019appel.<\/span><\/p>\n<p><a href=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2020\/02\/image5.png\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-5996 aligncenter\" src=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2020\/02\/image5.png\" alt=\"\" width=\"329\" height=\"230\" \/><\/a><\/p>\n<pre style=\"text-align: center;\">Code python pour ouvrir une page web sur la tablette du robot Pepper<\/pre>\n<h4 style=\"padding-left: 60px;\"><b>Sch\u00e9mas de contexte du r\u00e9seau<\/b><\/h4>\n<p><span style=\"font-weight: 400;\">\u00a0<a href=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2020\/02\/image4.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-5998 aligncenter\" src=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2020\/02\/image4.png\" alt=\"\" width=\"605\" height=\"359\" \/><\/a><a href=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2020\/02\/image1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-5999 aligncenter\" src=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2020\/02\/image1.png\" alt=\"\" width=\"605\" height=\"419\" \/><\/a><\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0<\/span><\/p>\n<h4 style=\"padding-left: 60px;\"><span style=\"font-weight: 400;\">\u00a0<\/span><b>La solution aboutie : d\u00e9marche et explications<\/b><\/h4>\n<p><span style=\"font-weight: 400;\">Le robot autorise l\u2019enregistrement de mots pr\u00e9d\u00e9fini. Lorsque le robot d\u00e9tecte un de ces mots enregistr\u00e9s, il d\u00e9clenche la r\u00e9ponse associ\u00e9e. Suite \u00e0 un appel de la personne en difficult\u00e9 (via \u201c\u00e0 l\u2019aide\u201d, \u201cau secours\u201d ou encore \u201csos\u201d) le robot va rep\u00e9rer l\u2019origine du son et se diriger vers la source du bruit. Une fois arriv\u00e9 \u00e0 destination, le robot va demander si tout va bien, et en fonction de la r\u00e9ponse, peut appeler les secours . Le rep\u00e9rage de l\u2019origine du son est difficile surtout dans des milieux bruyants et restreints.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Une des solutions trouv\u00e9es a \u00e9t\u00e9 de cr\u00e9er un num\u00e9ro de t\u00e9l\u00e9phone virtuel via un ordinateur. Sur ce compte virtuel twilio, un compte \u00ab SID \u00bb est cr\u00e9\u00e9. Via cette plateforme web, on peut envoyer un sms \u00e0 un t\u00e9l\u00e9phone. On a ensuite pris une base de code python, que l\u2019on a adapt\u00e9 pour l\u2019IDE de l\u2019\u00e9diteur de code. Sur ce code, notre identifiant SID est modifi\u00e9 ainsi que le num\u00e9ro de t\u00e9l\u00e9phone virtuel. Ces informations permettent de communiquer entre un t\u00e9l\u00e9phone et le robot.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Ensuite, le code Python est int\u00e9gr\u00e9 au logiciel Choregraphe pour ne plus avoir \u00e0 passer par un ordinateur pour la communication entre le robot et le t\u00e9l\u00e9phone. Un d\u00e9but de solution \u00e0 \u00e9t\u00e9 de g\u00e9n\u00e9rer un script python et un bloc \u00ab get attached \u00bb. Le bloc \u00ab get attached \u00bb permet d\u2019int\u00e9grer des libraires python au logiciel choregraphe. Le script python fait le lien entre le robot et le t\u00e9l\u00e9phone. Cette solution n\u2019a pas fonctionn\u00e9, car le logiciel choregraphe ne parvient pas \u00e0 trouver la librairie import\u00e9e.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Une autre solution est de charger la librairie au travers du script. Cependant, il y a un probl\u00e8me de format. Le logiciel choregraphe ne supporte que les fichiers \u00ab .dll \u00bb, et pas les \u00ab .py \u00bb. A moins de trouver un moyen de convertir le format, cette solution reste inutilisable.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Une autre solution serait d\u2019installer la librairie directement sur Pepper. Installer cette librairie revient \u00e0 cr\u00e9er un comportement suppl\u00e9mentaire. Cependant, lors de l\u2019ex\u00e9cution, il manquait une librairie PYTZ. Cette librairie est r\u00e9cup\u00e9rable gr\u00e2ce au logiciel \u00ab Putty \u00bb, qui l\u2019installe sur le robot. Apr\u00e8s avoir r\u00e9-ex\u00e9cuter le comportement, il manquait une autre librairie qui est maintenant install\u00e9e. La d\u00e9couverte d\u2019un tutoriel en japonais sur l&rsquo;utilisation de Twilio nous a permis de finaliser la r\u00e9alisation de l\u2019appel via le robot Pepper.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Un probl\u00e8me que nous avons rencontr\u00e9 au niveau du suivi d\u2019une personne est que le robot peut r\u00e9pondre de mani\u00e8re \u00e9trange. Cela est d\u00fb \u00e0 une saturation de m\u00e9moire du robot lors d\u2019un chargement de programme. Cette situation peut arriver notamment lors de chargement de programme avec reconnaissance vocale. Pour r\u00e9soudre ce probl\u00e8me, il faut \u00e9teindre compl\u00e8tement le robot et le faire red\u00e9marrer.<\/span><\/p>\n<ul>\n<li>\n<h3><b>Pistes d\u2019am\u00e9lioration<\/b><\/h3>\n<\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Un objectif suppl\u00e9mentaire serait de faire en sorte de pouvoir changer de mode de fonctionnement sans avoir \u00e0 utiliser un ordinateur. Pour faire \u00e7a, le plus simple est de r\u00e9unir l\u2019int\u00e9gralit\u00e9 des programmes utilis\u00e9s en un seul, avec pour condition d\u2019activation la reconnaissance d\u2019un mot cl\u00e9. A l\u2019heure actuelle, cette fonction n\u2019a pas encore \u00e9t\u00e9 r\u00e9alis\u00e9e.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Une piste de modification du programme s\u2019est pr\u00e9sent\u00e9e lors d\u2019une pr\u00e9sentation \u00e0 une promotion d\u2019\u00e9l\u00e8ves de l\u2019ENSIBS. En effet, le robot avait pour objectif de suivre un des \u00e9l\u00e8ves. La modification est sur la distance d\u2019arr\u00eat entre le robot et la personne cibl\u00e9e. La proximit\u00e9 entre le robot et la personne peut \u00eatre g\u00eanante, au point de faire peur. Nous avons ici d\u00e9couvert l\u2019importance de r\u00e9fl\u00e9chir \u00e0 la perception du robot par les utilisateurs.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Une autre piste de modification est sur la vitesse de d\u00e9placement. Lorsque le robot suit une personne, il faut que la personne marche lentement pour ne pas sortir de la zone de d\u00e9tection. Il est possible que le probl\u00e8me soit d\u2019ordre logiciel, le robot doit recalculer \u00e0 chaque instant si la personne est situ\u00e9 devant lui, ce qui peut demander des ressources assez importantes.<\/span><\/p>\n<h2>D\u00e9monstrations<\/h2>\n<p><iframe loading=\"lazy\" title=\"Pepper - Hackathon ENSIBS 2020 - D\u00e9mo globale\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/uzr0S-UnV7w?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<p style=\"text-align: center;\">Sc\u00e9nario global<\/p>\n<p><iframe loading=\"lazy\" title=\"Pepper - Hackathon ENSIBS 2020 - Fonction de suivi\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/s6giqzEfwls?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<p style=\"text-align: center;\">Sc\u00e9nario 1 : Fonction de suivi automatique<\/p>\n<p><iframe loading=\"lazy\" title=\"Pepper - Hackathon ENSIBS 2020 - D\u00e9mo du programme Spectacle\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/maLfRryxMzQ?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<p style=\"text-align: center;\">Bonus 1 : Spectacle d&rsquo;animations pr\u00e9d\u00e9finies du robot Pepper<\/p>\n<p><iframe loading=\"lazy\" title=\"Pepper - Hackathon ENSIBS 2020 - D\u00e9mo programme reconnaissance + Marseillaise\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/-i0DgwXbVpk?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<p style=\"text-align: center;\">Bonus 2 : Reconnaissance automatique de sexe et d&rsquo;\u00e2ge<\/p>\n<h2>Retours d\u2019exp\u00e9rience<\/h2>\n<ul>\n<li style=\"font-weight: 400;\">\n<h3><span style=\"font-weight: 400;\">Th\u00e9o Fontenit<\/span><\/h3>\n<\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">J\u2019abordais cet intersemestre sans vraiment savoir ce que j\u2019allais r\u00e9aliser puisque je n\u2019avais jamais r\u00e9alis\u00e9 de hackathon et que nous \u00e9tions les premiers de l\u2019IMT \u00e0 r\u00e9aliser celui ci avec l\u2019ENSIBS. Nous sommes arriv\u00e9 jeudi matin sur les lieux du Hackathon. Apr\u00e8s une rapide visite des lieux, nous nous sommes tout de suite mis dans le bain puisque nous avons eu la pr\u00e9sentation des sujets et le choix des sujets d\u00e8s 10h30. Le d\u00e9but de journ\u00e9e \u00e9tait un peu h\u00e9sitant: je ne connaissais ni les personnes de mon groupe ni l\u2019objet d\u2019\u00e9tude de notre week end: le robot Pepper. Cependant au fil de la journ\u00e9e, nous avons appris \u00e0 nous conna\u00eetre et \u00e0 apprivoiser le robot. Nous avons d\u00e9couvert l\u2019immense palette de comportements que le robot Pepper pouvait r\u00e9aliser, avec un peu d\u2019imagination nous pouvions cr\u00e9\u00e9 un tas de sc\u00e9narios diff\u00e9rents !<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Au cours du week end, diverses difficult\u00e9s nous ont fait face. Par exemple, lorsque j\u2019ai voulu mettre en place le suivi du robot par le son, je me suis rendu compte que la fonction SoundTracker pr\u00e9configur\u00e9 dans le logiciel Chronographe \u00e9tait approximative du fait que les 4 microphones du robot poss\u00e9daient une zone morte derri\u00e8re ce dernier et que les \u00e9chos des sons ne permettaient pas une localisation pr\u00e9cise. J\u2019ai donc reprogramm\u00e9 les blocs en langage Python. Il fallait donc \u00eatre capable de comprendre les programmes d\u00e9j\u00e0 cr\u00e9\u00e9s en programmation orient\u00e9e objet et de les modifier afin d\u2019obtenir la fonction d\u00e9sir\u00e9e. Cela s\u2019est traduit par la cr\u00e9ation de nouvelles fonctions python et de nouvelles entr\u00e9es dans les blocks Python du logiciel Chor\u00e9graphe.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Le hackathon s\u2019est r\u00e9v\u00e9l\u00e9 \u00eatre un exp\u00e9rience tr\u00e8s positive. J\u2019ai eu l\u2019occasion de rencontrer de nombreuses personnes passionn\u00e9s par des th\u00e9matiques qui me tiennent \u00e0 coeur. En effet, les \u00e9tudiants en m\u00e9catronique m\u2019ont permit de d\u00e9couvrir le domaine de la robotique. J\u2019ai toujours \u00e9t\u00e9 attir\u00e9 par ce domaine cependant je n\u2019avais jamais eu l\u2019occasion de r\u00e9aliser des applications concr\u00e8tes de ce type. La possibilit\u00e9 de programmer le robot Pepper m\u2019a permis d\u2019apprendre de nombreuses comp\u00e9tences tel que la capacit\u00e9 \u00e0 r\u00e9aliser la strat\u00e9gie de commande adapt\u00e9e \u00e0 un robot humano\u00efde, la r\u00e9flexion sur la perception du robot par l\u2019humain et leurs interactions, ou encore la prise en compte de l\u2019environnement par un robot et ses capteurs. De plus, l\u2019application que nous avons d\u00e9velopp\u00e9 sur Pepper poss\u00e8de une vraie utilit\u00e9 et pourrait \u00eatre am\u00e9lior\u00e9e afin d\u2019\u00eatre r\u00e9ellement mis en place dans la maison de personnes \u00e2g\u00e9es afin de d\u00e9tecter leur chute et afin de leur apporter une aide. Enfin, les profs de l\u2019ENSIBS et les ing\u00e9nieurs de la chaire Maintien \u00e0 domicile ont \u00e9t\u00e9 tr\u00e8s disponible et m&rsquo;ont permit de d\u00e9couvrir la robotique tout en prenant plaisir dans un format qui tranche avec les cours habituels.<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\">\n<h3><span style=\"font-weight: 400;\">Arnaud Allemang&#8211;Trivalle<\/span><\/h3>\n<\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">J\u2019ai d\u00e9j\u00e0 eu l\u2019occasion de participer \u00e0 diff\u00e9rents Hackathon et j\u2019\u00e9tais donc familier au concept et au d\u00e9roulement g\u00e9n\u00e9ral de l\u2019intersemestre. Cependant \u00e0 la diff\u00e9rences de mes autres exp\u00e9riences, cette fois je n\u2019avais aucune comp\u00e9tence directement li\u00e9e au th\u00e8me du hackathon et \u00e0 la robotique. Ainsi au final j&rsquo;appr\u00e9hendais un peu cet intersemestre car j\u2019avais peur de ne rien comprendre aux diff\u00e9rents projets, de brider mon imagination par manque de connaissance et d\u2019\u00eatre un poids pour mon \u00e9quipe.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Finalement, lors de la pr\u00e9sentation des diff\u00e9rents projets j\u2019ai pu identifier celui autour du robot pepper. Il a su attirer mon attention et ne demandait que des connaissances basiques en programmation. Une fois mon projet choisi j\u2019ai pu rencontrer les autres \u00e9tudiants int\u00e9ress\u00e9s par celui-ci, \u00e9changer avec eux et former une \u00e9quipe. Le contact c\u2019est fait assez facilement et rapidement et nous nous sommes directement mis dans le bain. La premi\u00e8re journ\u00e9e nous avons pris en main le robot, explor\u00e9 l\u2019\u00e9tendu de ses fonctionnalit\u00e9s et commenc\u00e9 \u00e0 programmer. Nous avons rapidement r\u00e9alis\u00e9 que nous pouvions programmer facilement ce robot afin de mettre en place de nombreux sc\u00e9narios.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Cependant, la programmation par bloc, qui semblait tr\u00e8s simple au premier abord, s\u2019est montr\u00e9 par moment tr\u00e8s capricieuse. En effet, il est parfois compliqu\u00e9 de comprendre toutes les subtilit\u00e9s d\u2019un bloc d\u00e9j\u00e0 programm\u00e9 car nous n\u2019avons pas acc\u00e8s au code python qui est concr\u00e8tement utilis\u00e9. Ainsi la d\u00e9marche est devenue assez exp\u00e9rimentale, et nous avons d\u00fb tester chaque param\u00e8tre des blocs afin d\u2019identifier quelles \u00e9taient leur r\u00e9elle utilit\u00e9.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Par exemple pour la fonctionnalit\u00e9 de suivi automatique de l\u2019utilisateur, nous avons passez beaucoup de temps \u00e0 tester diff\u00e9rents blocs pythons et diff\u00e9rentes configurations avant de r\u00e9aliser que \u00e7a pouvait \u00eatre faire en utilisant qu&rsquo;un seul bloc avec les bons param\u00e8tres.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Au final le hackathon s\u2019est r\u00e9v\u00e9l\u00e9 \u00eatre une exp\u00e9rience tr\u00e8s enrichissante. Cela m\u2019a permis de prendre en main des technologies que l\u2019on ne rencontre pas tous les jours, et d\u2019\u00e9changer avec des \u00e9tudiants sp\u00e9cialis\u00e9s dans le domaine de la robotique. D\u00e9couvrir le robot Pepper m\u2019a fait prendre conscience de toute les possibilit\u00e9s offertes par les robots sociaux. En effet poss\u00e9dant de nombreux capteurs il devient possible de r\u00e9aliser toutes sortes de sc\u00e9narios. L&rsquo;imagination et les capacit\u00e9s des d\u00e9veloppeurs semblent n\u2019\u00eatre presque que les seuls limites au d\u00e9veloppement de nouvelles solutions.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Je tiens \u00e0 remercier tout particuli\u00e8rement les professeurs de l\u2019ENSIBS et les ing\u00e9nieurs de la chaire Maintien@Domicile qui ont \u00e9t\u00e9 tr\u00e8s disponibles et d\u2019un grand soutien pour la r\u00e9alisation de notre projet. Merci \u00e9galement \u00e0 toutes les personnes qui ont rendu ce hackathon et cet intersemestre possible. J\u2019esp\u00e8re que l\u2019an prochain d&rsquo;avantages d\u2019\u00e9l\u00e8ves d\u2019IMT Atlantique auront l\u2019opportunit\u00e9 d\u2019y participer.<\/span><\/p>\n<h2>Ressources<\/h2>\n<p>Pour acc\u00e9der \u00e0 toutes les ressources (codes, vid\u00e9os, photos, manuel d&rsquo;utilisation) issues de ce Hackathon il suffit de cliquer <a href=\"https:\/\/drive.google.com\/drive\/folders\/1oyl7gry8MNCMziJATP_D0vhkq2JtdhST?usp=sharing\">ici<\/a>.<\/p>\n","protected":false},"author":1,"featured_media":5995,"parent":0,"menu_order":0,"template":"","meta":{"_acf_changed":false,"footnotes":""},"categories":[22,20],"type_projet":[],"class_list":["post-5988","projet","type-projet","status-publish","has-post-thumbnail","hentry","category-evenements","category-projets"],"acf":{"objectifs":"","categorie":false,"fichiers_associes":null},"_links":{"self":[{"href":"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-json\/wp\/v2\/projet\/5988","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-json\/wp\/v2\/projet"}],"about":[{"href":"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-json\/wp\/v2\/types\/projet"}],"author":[{"embeddable":true,"href":"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-json\/wp\/v2\/users\/1"}],"version-history":[{"count":1,"href":"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-json\/wp\/v2\/projet\/5988\/revisions"}],"predecessor-version":[{"id":10451,"href":"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-json\/wp\/v2\/projet\/5988\/revisions\/10451"}],"wp:attachment":[{"href":"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-json\/wp\/v2\/media?parent=5988"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-json\/wp\/v2\/categories?post=5988"},{"taxonomy":"type_projet","embeddable":true,"href":"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-json\/wp\/v2\/type_projet?post=5988"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}