2. Qui est le robot Pepper

2.1. Étude du Robot Pepper

Le robot Pepper est un robot humanoïde conçu par SoftBank robotics, il possède pas moins de 20 moteurs voir (fig 1),
mais aussi 4 microphones, 2 caméras RGB HD, 5 capteurs tactiles, un écran tactile sur le torse,
1 caméra 3D derrière les yeux, dans les jambes : 2 sonars, 6 lasers, un capteur gyroscopique,
3 roues omnidirectionnelles. Le robot possède 3 articulations dans chaque bras, soit 6 moteurs dans chaque bras.
Quelques tests on été réalisés afin de mieux prendre en main le robot et de comprendre les mouvements qu'il peut réaliser.
La conclusion est que le robot était limité par ses articulations et que donc il ne serait pas capable de prendre des objets situés au sol,
mais aussi sur des étagères donc en hauteur. C'est pour cela que les objets seront placés uniquement sur les tables.
La principale fonction de ce robot est la communication, il est utiliser par les entreprises pour guider les clients et les renseigner.
Ce robot n'est pas un robot industriel, le fait de porter des objets n'est pas dans ses fonctions, il a donc de faibles moteurs dans les bras.
La masse que peut porter le robot est limitée par la puissance des moteurs.
La mission est donc de rendre ce robot de compagnie capable de manipuler des objets.

2.2. Aménagement de la zone Pepper

La Zone Pepper est composée de tables et d'une étagère, malheureusement le robot Pepper ne détecte pas les tables.
Le robot risque donc de rentrer en collision avec les tables. Une tâche à réaliser en sous-traitance à été mise en place
afin de déterminer la surface de la zone Pepper mais aussi de réaliser un devis pour acheter du matériel afin d'aménager la zone.
L'aménagement de la zone Pepper va permettre de combler l'espace sous les tables d'une hauteur de 40 centimètres.
Pour cela des plaques en médium ainsi que des équerres seront utilisés afin de remplacer la solution temporaire en cartons qui a été réaliser en sous-traitance.
La zone Pepper a une surface de 12,2 m², c'est dans cette zone que les tests sur le robot sont réalisés.

Devis du matériel pour aménager la zone Pepper

2.3. Outils de développement

Pour commander le robot il faut choisir le moyen de le programmer, il y a trois outils possibles SDK,choregraphe et ROS.
Pour pouvoir faire un choix parmi ces outils, il faut dans un premier temps les prendre en mains et les utiliser afin de voir le plus adéquat au vu du projet.
Plusieurs programmes ont été réaliser afin de pouvoir contrôler différent actionneurs et capteurs du robot.

Chorégraphe

La première étape a été de prendre en main le logiciel chorégraphe qui est le logiciel conseillé par le fabriquant du robot.
Ce logiciel permet de réaliser un programme à l'aide de petites boites pré programmer à relier les unes aux autres afin de faire un programme entier.
Ce logiciel a été utilisé afin de créer un programme de reconnaissance faciale pour animer les portes ouvertes.
Malheureusement lors de la création du programme il a fallut utiliser la tablette de Pepper afin que la personne utilisant ce programme puisse taper son nom.
Cette fonction n'étant pas présente dans la bibliothèque du logiciel il l'a fallut la créer, cela a rendu la tache plus difficile car il faut programmer en python.
Dans ce programme, les actionneurs de Pepper ont été commandés ainsi que sa camera.
Une fois le programme terminé, celui-ci a été transférer au robot sous forme d'application,
pour la lancer il faut que le robot soit en mode "Autonomus" et dire : "Lance reconnaissance".
Un document pour créer une application a l'aide chorégraphe a été rédiger, il est disponible dans : "Fichiers".
Un autre programme a ensuite été réaliser et tester afin d'apprendre un objet et de voir si par la suite il arrive a le reconnaitre car en effet c'est le but du projet.
Les fonctions a utiliser étant déjà dans la bibliothèque, le programme a été fini rapidement.
Ensuite il a fallu tester le programme, la conclusion et que le robot apprend un objet a une position précise.
C'est à dire que lorsque l'on déplace l'objet qu'on l'éloigne ou qu'on rapproche l'objet,
ou encore lorsque son angle de vision change le robot ne reconnait pas l'objet.
Voici un tableau représentant les avantages et inconvénients de cet outil:

SDK

Pour ce qui est de la prise en main de SDK, les deux versions de SDK ont ete installés sur les PCs mais malheureusement pour ce qui est du programme pour faire une démonstration cela a été un échec par manque d'informations. Les instructions sur internet étaient incomplète.
Cet outil a donc été abandonner par manque d'information et de documentation sur internet afin de pouvoir finir le projet.
Voici un tableau représentant les avantages et inconvénients de cet outil:

ROS

Pour ce qui est de la prise en main de ROS, Il y a eu une séance de prise en main avec M.LENGAGNE. Une fois cette séance de prise en main il a fallu l'utilisé sur le robot Pepper. Un programme afin de commander la base de Pepper a été réalisé, la base de pepper est commander a l'aide de la manette.
Un programme permettant de commander la camera et ainsi de détecter des marqueurs avec ArUco a été réalisé et testé.
Mais aussi un Programme permettant de bouger le bras et la main à l'aide de la manette afin qu'il prenne un objet,
ce programme a servit de démonstration lors de la fête de la science.
Ces programmes ont permis de prendre en main l'outil ROS mais aussi de voir ce qu'été possible de réaliser avec cet outil.

Résultat

Une fois la prise en main de tout les outils de développement, il a fallut les comparer afin de faire un choix sur celui utilisé jusqu'à la fin du projet.
Les tableaux réalisés permettent de faire un choix, l'outil choisi est ROS. Avec ROS il est possible de commander les actionneurs soit la base et les bras de Pepper ainsi que les récepteurs comme la caméra.

pepper.jpg (24.5 KB) Maeva Garcia, 10/17/2017 03:50 PM

Pepper2.jpg (14.6 KB) Maeva Garcia, 10/17/2017 03:50 PM

Pepper3.jpg (17.9 KB) Maeva Garcia, 10/17/2017 03:50 PM

Solution.docx (17 KB) Maeva Garcia, 10/17/2017 03:55 PM