Rapport d'avant-projet » History » Version 7

Maeva Garcia, 10/13/2017 08:48 AM

1 1 Maeva Garcia
h1. Rapport d'avant-projet
2 1 Maeva Garcia
3 1 Maeva Garcia
h1. Résumé
4 1 Maeva Garcia
5 1 Maeva Garcia
La section Génie Electrique de Polytech Clermont-Ferrand a besoin de projets ludiques à
6 1 Maeva Garcia
présenter lors des portes ouvertes de Polytech Clermont-Ferrand. 
7 1 Maeva Garcia
Cela va permettre d’attirer les étudiants car la section manquent d’élèves.
8 1 Maeva Garcia
C’est dans cet objectif que le projet « Pepper range ses affaires » a été envisagé. Le projet va
9 1 Maeva Garcia
aussi permettre d’intégrer des travaux pratiques sur le robot Pepper. Le but de ce projet est
10 1 Maeva Garcia
de faire bouger le robot Pepper afin qu’il trouve et range des objets placés dans une zone.
11 1 Maeva Garcia
Le projet étant de travailler sur un robot, celui-ci regroupe des matières liées à la robotique,
12 1 Maeva Garcia
par exemple la programmation en langage C, en Python ou encore du traitement vidéo.
13 1 Maeva Garcia
Cette première partie de projet a permis de savoir comment fonctionnait le robot Pepper
14 1 Maeva Garcia
ainsi que de se familiariser avec différents outils de programmation afin que l’on trouve le
15 1 Maeva Garcia
plus adapté pour mener à bien notre projet. Nous avons aussi cherché des moyens pour que
16 1 Maeva Garcia
le robot reconnaisse les objets et puisse les situer dans l’espace afin qu’il puisse les
17 1 Maeva Garcia
manipuler.
18 1 Maeva Garcia
19 1 Maeva Garcia
+Mots clés :+ robot, programmation, détection d'objet, manipulation. 
20 1 Maeva Garcia
21 1 Maeva Garcia
h1. Abstract
22 1 Maeva Garcia
23 1 Maeva Garcia
The Electrical Engineering section of Polytech Clermont-Ferrand needs a playful project to be
24 1 Maeva Garcia
presented at the open doors of Polytech  Clermont-Ferrand. This will attract students because the section lacks students.
25 1 Maeva Garcia
It is for this purpose that the Pepper ranks its stuffss has been considered. The project will
26 1 Maeva Garcia
also integrate practical work on the Pepper robot. The goal of this project is to move a
27 1 Maeva Garcia
Pepper robot so that it finds and stores objects placed in an area.
28 1 Maeva Garcia
The project is to work on a robot, it is a group of subjects related to robotics. There are, for
29 1 Maeva Garcia
example, programming in C, python or video processing.
30 1 Maeva Garcia
This first part of the project allowed us to know how the Pepper robot works and to
31 1 Maeva Garcia
familiarize ourselves with different programming tools so that we find the most suitable to
32 1 Maeva Garcia
carry out our project. We also looked for ways for the robot to recognize the objects and
33 1 Maeva Garcia
place them in space so that they can handle them.
34 1 Maeva Garcia
35 1 Maeva Garcia
+Keywords :+ robot, programming, object detection, handling.
36 2 Maeva Garcia
37 2 Maeva Garcia
38 2 Maeva Garcia
h1. Remerciments
39 2 Maeva Garcia
40 2 Maeva Garcia
Nous tenons tout d’abord à remercier M. Sébastien Lengagne, ainsi que l’école Polytech Clermont Ferrand,
41 2 Maeva Garcia
pour la proposition de ce sujet permettant l’amélioration de l’image de la section Génie
42 2 Maeva Garcia
Electrique de Polytech Clermont-Ferrand ainsi que de pouvoir manipuler un tel robot. 
43 2 Maeva Garcia
M.Lengagne étant notre tuteur Polytech ainsi que notre client, ceci a été un travail difficile mais
44 2 Maeva Garcia
il a toujours été présent pour nous aider, que ce soit dans l’apprentissage des différents
45 2 Maeva Garcia
outils mais aussi pour ses précieux conseils pendant ces 3 mois d’avant-projet.
46 2 Maeva Garcia
Mme. Isabelle Goi, notre tutrice industrielle, nous a également été d’une grande aide afin de
47 2 Maeva Garcia
réaliser des revues de projet les meilleures possible. 
48 3 Maeva Garcia
49 3 Maeva Garcia
h1. Tables des matières
50 3 Maeva Garcia
51 3 Maeva Garcia
1. Introduction..................................................................................................................................... 1
52 3 Maeva Garcia
2. Contexte du projet .......................................................................................................................... 2
53 3 Maeva Garcia
  2.1 Objectif du client : ....................................................................................................................... 2
54 3 Maeva Garcia
  2.2 Le robot Pepper :......................................................................................................................... 2
55 3 Maeva Garcia
  2.3 Cahier des charges :..................................................................................................................... 3
56 3 Maeva Garcia
3. Déroulement du projet................................................................................................................ 4
57 3 Maeva Garcia
  3.1 Choix de l’outil de développement ............................................................................................. 5
58 3 Maeva Garcia
  3.2 Elaboration des fonctions............................................................................................................ 5
59 3 Maeva Garcia
  3.3 Choix des objets .......................................................................................................................... 6
60 3 Maeva Garcia
4. Les résultats................................................................................................................................. 6
61 3 Maeva Garcia
5. Conclusion.................................................................................................................................... 8
62 3 Maeva Garcia
6. Bilan personnel............................................................................................................................ 8
63 4 Maeva Garcia
64 4 Maeva Garcia
65 4 Maeva Garcia
h1. Lexique
66 4 Maeva Garcia
67 4 Maeva Garcia
ArUco : Une bibliothèque pour des applications en réalité augmentée (la
68 4 Maeva Garcia
superposition de la réalité et d'éléments, comme les sons, les images 2D et 3D).
69 4 Maeva Garcia
70 4 Maeva Garcia
Chorégraphe : Un logiciel qui contient des programmes de base sous forme de blocs,
71 4 Maeva Garcia
chaque bloc est une fonction, on peut aussi créer des nouvelles fonctions en utilisant
72 4 Maeva Garcia
le langage Python.
73 4 Maeva Garcia
74 4 Maeva Garcia
C++ : Un langage de programmation compilé.
75 4 Maeva Garcia
76 4 Maeva Garcia
Python : Un langage de programmation compilé.
77 4 Maeva Garcia
78 4 Maeva Garcia
QR code : Quick Response code.
79 4 Maeva Garcia
80 4 Maeva Garcia
ROS : Un système d'exploitation pour la robotique, on peut programmer en langage
81 4 Maeva Garcia
C++ avec ROS.
82 4 Maeva Garcia
83 4 Maeva Garcia
SDK : Un ensemble d'outils d'aide à la programmation, il a deux versions, C++ SDK et
84 4 Maeva Garcia
Python SDK.
85 4 Maeva Garcia
86 4 Maeva Garcia
87 4 Maeva Garcia
88 4 Maeva Garcia
89 4 Maeva Garcia
h1. Introduction
90 4 Maeva Garcia
91 4 Maeva Garcia
Qui n'a pas déjà rêvé d’un robot capable de ranger des affaires pour nous, et bien
92 4 Maeva Garcia
c’est la mission qu’on nous a confiée. Nous sommes deux étudiantes en 4ème année en
93 4 Maeva Garcia
Génie Electrique à Polytech Clermont Ferrand.
94 4 Maeva Garcia
Nous devons réaliser un projet sur 1 an, le sujet de notre projet est donc : « Pepper range
95 4 Maeva Garcia
ses affaires ». Notre client est M. Lengagne, qui est un enseignant du département Génie
96 4 Maeva Garcia
Electrique à Polytech Clermont-Ferrand.
97 4 Maeva Garcia
Il nous a confié ce projet dans le but de pouvoir par la suite intégrer des travaux pratiques
98 4 Maeva Garcia
sur le robot Pepper dans le cursus des étudiants du département. Ce projet pourra aussi
99 4 Maeva Garcia
devenir l’un des projets exposés lors des portes ouvertes afin d’être la vitrine du
100 4 Maeva Garcia
département.
101 4 Maeva Garcia
Nous devons donc programmer le robot Pepper afin qu’il dispose différents objets (une
102 4 Maeva Garcia
dizaine) dans une pièce et qu’il les trouve et les range à des endroits précis. 
103 4 Maeva Garcia
104 4 Maeva Garcia
105 4 Maeva Garcia
106 4 Maeva Garcia
h1. 2. Contexte du Projet
107 4 Maeva Garcia
108 5 Maeva Garcia
h2. 2.1. Objectif du client
109 4 Maeva Garcia
110 4 Maeva Garcia
Le client est M. Sébastien Lengagne, un enseignant du département Génie Electrique, il est
111 4 Maeva Garcia
donc le représentant du département. Le département Génie Electrique a investi cette
112 4 Maeva Garcia
année dans le robot Pepper afin de pouvoir intégrer des travaux pratiques de robotique,
113 4 Maeva Garcia
pour les étudiants de 4eme année en Génie Electrique. Ainsi, le robot pourra être
114 4 Maeva Garcia
programmé pour réaliser des fonctions afin de présenter le département lors des portes
115 4 Maeva Garcia
ouvertes ou de la fête de la science. Le but de notre projet est de programmer le robot avec
116 4 Maeva Garcia
différents outils de programmation afin de faire un choix pour savoir quel outil est le plus
117 4 Maeva Garcia
simple à utiliser pour les étudiants et qu’il soit performant pour contrôler tous les capteurs
118 4 Maeva Garcia
et actionneurs du robot. Pour cela notre projet consiste à faire un démonstrateur avec le
119 4 Maeva Garcia
robot Pepper. La démonstration sera de disposer différents objets (une dizaine) dans une
120 1 Maeva Garcia
pièce et demander à Pepper de les trouver et de les ranger à des endroits précis
121 5 Maeva Garcia
122 5 Maeva Garcia
123 5 Maeva Garcia
h2. 2.2. Le robot Pepper
124 5 Maeva Garcia
125 5 Maeva Garcia
Le robot Pepper est un robot humanoïde conçu par SoftBank robotics, il possède pas moins
126 5 Maeva Garcia
de 20 moteurs voir figure 1, mais aussi 4 microphones, 2 caméras RGB HD, 5 capteurs
127 5 Maeva Garcia
tactiles, un écran tactile sur le torse, 1 caméra 3D derrière les yeux, dans les jambes : 2
128 5 Maeva Garcia
sonars, 6 lasers, un capteur gyroscopique, 3 roues omnidirectionnelles. Le robot possède 3
129 5 Maeva Garcia
articulations dans chaque bras. 
130 6 Maeva Garcia
131 6 Maeva Garcia
h2. 2.3. Cahier des charges
132 6 Maeva Garcia
133 6 Maeva Garcia
L’objectif premier de ce projet est de créer un démonstrateur avec le robot Pepper.
134 6 Maeva Garcia
La démonstration consistera à disposer différents objets (10 objets) dans une pièce 
135 6 Maeva Garcia
et de demander à Pepper de les trouver pour les ranger à des endroits précis.
136 6 Maeva Garcia
Le robot devra être capable de contourner des obstacles s’ils sont sur son chemin.
137 6 Maeva Garcia
138 6 Maeva Garcia
!pep2.jpg!
139 6 Maeva Garcia
140 6 Maeva Garcia
Nous devrons fournir une démonstration fonctionnelle, ainsi que le code documenté 
141 6 Maeva Garcia
facilement compréhensible par un étudiant en Génie Electrique de 4ème année. 
142 6 Maeva Garcia
Le robot devra ranger automatiquement les 10 objets qui seront dans la zone Pepper (4m²)
143 6 Maeva Garcia
en 5 minutes à la fin du projet soit à la fin du mois décembre.
144 6 Maeva Garcia
Après quelques recherches, nous avons remarqué que ce robot pourrait avoir quelques difficultés 
145 6 Maeva Garcia
quant à prendre des objets. En effet, celui-ci ne peut pas prendre un objet qui se situe au sol 
146 6 Maeva Garcia
ou encore qui serait trop haut. Nous avons donc décidé que les objets se situeront à hauteur de table.
147 6 Maeva Garcia
Nous avons aussi remarqué que le robot a une limite très faible concernant les objets qu’il peut prendre dans ses mains.
148 6 Maeva Garcia
Nous avons donc décidé que les objets ne devront pas dépasser les 400 grammes.
149 6 Maeva Garcia
Nous avons néanmoins quelques exigences du client comme celle de faire tous les tests en simulation au préalable. 
150 6 Maeva Garcia
Mais aussi que tous les tests sur le robot doivent être faits en présence d'un responsable (un professeur du département Génie Electrique).
151 6 Maeva Garcia
Nous devons aussi filmer tous les tests sur le robot réel, en effet ces contraintes nous permettent
152 6 Maeva Garcia
de pouvoir avoir des preuves si jamais il y a des dysfonctionnements avec le robot ou si on réalise une mauvaise manipulation. 
153 6 Maeva Garcia
Tout cela a pour but d’éviter d’endommager le robot et de pouvoir le réparer si jamais cela arrive.
154 7 Maeva Garcia
155 7 Maeva Garcia
156 7 Maeva Garcia
h1. 3. Déroulement du projet
157 7 Maeva Garcia
158 7 Maeva Garcia
Pour que le robot puisse ranger ses affaires, nous avons décidé de séparer notre projet en trois grandes parties (annexe 1).
159 7 Maeva Garcia
Tout d'abord, on doit être capable d'utiliser les différents capteurs et actionneurs du robot. 
160 7 Maeva Garcia
Pour cela nous devons faire un choix quant à l’outil de développement que nous allons utiliser. 
161 7 Maeva Garcia
Il y a trois outils permettant de réaliser le contrôle de ceux-ci, Chorégraphe, SDK (C++ ou Python) et ROS.
162 7 Maeva Garcia
 On doit faire un choix entre ces trois outils, choisir lequel est le plus efficace.
163 7 Maeva Garcia
Ensuite, une fois l’outil de développement choisi on pourra l’utiliser afin de réaliser des programmes 
164 7 Maeva Garcia
informatiques qui permettront de commander les actionneurs et les capteurs du robot.
165 7 Maeva Garcia
Enfin, la troisième partie consiste à choisir une méthode ou des objets spécifiques pour que le robot les reconnaisse et les localise.
166 7 Maeva Garcia
167 7 Maeva Garcia
h2. 3.1. Choix de l'outils de développement 
168 7 Maeva Garcia
169 7 Maeva Garcia
Dans un premier temps, nous avons étudié les différents outils de développement que nous pouvions utiliser.
170 7 Maeva Garcia
Avec l’aide de notre tuteur industriel nous avons donc pris en main les outils de développement. 
171 7 Maeva Garcia
Nous avons commencé par prendre en main simultanément ROS et Chorégraphe. Nous avons donc appris à utiliser ces outils,
172 7 Maeva Garcia
nous avons créé des fonctions avec ces outils, comparer les temps utilisés avec chaque outil, 
173 7 Maeva Garcia
et aussi trouver la limite de ces outils, voir si ces outils nous permettent de réaliser toutes les fonctions dont on aura besoin. 
174 7 Maeva Garcia
Nous n’avons malheureusement pas réussi à utiliser le SDK (C++, PYTHON). 
175 7 Maeva Garcia
Nous avons passé beaucoup de temps après avoir réalisé l’installation afin de programmer une petite fonction qui est fournie avec le tutoriel 
176 7 Maeva Garcia
or il manque beaucoup d’information sur cet outil pour qu’on puisse l’utiliser correctement. 
177 7 Maeva Garcia
C’est pour cela que l’on peut constater un retard dans notre Gantt prévisionnel (annexe 2),
178 7 Maeva Garcia
nous ne pensions pas perdre autant de temps sur la prise en main de cet outil.
179 7 Maeva Garcia
180 7 Maeva Garcia
h2. 3.2. Élaboration des fonctions
181 7 Maeva Garcia
182 7 Maeva Garcia
Ensuite, une fois la prise en main des outils ROS et Chorégraphe nous avons pu commencer à réaliser quelques fonctions
183 7 Maeva Garcia
de base permettant d’utiliser quelques actionneurs du robot. Nous avons pu programmer grâce à ces deux outils pour contrôler les membres du robot.
184 7 Maeva Garcia
Ainsi nous avons réalisé une application à l’aide de chorégraphe pour les journées portes ouvertes,
185 7 Maeva Garcia
cette application consiste à faire de la reconnaissance faciale, nous l’avons mis en place lors de la journée 
186 7 Maeva Garcia
des portes ouvertes et cette application a permis de représenter le département du Génie Electrique. 
187 7 Maeva Garcia
Mettre en place cette application nous a aussi permis de contrôler le robot grâce à cet outil. 
188 7 Maeva Garcia
Lorsque nous avons commencé à utiliser ROS pour faire déplacer le robot grâce à ses roues, 
189 7 Maeva Garcia
nous avons eu quelques problèmes techniques qui ne n’étaient pas de notre ressort.
190 7 Maeva Garcia
En effet le constructeur de ce robot indique qu’il est possible de le contrôler grâce à ROS 
191 7 Maeva Garcia
or une erreur est survenue à chaque test réalisé pour le déplacement. Le robot se bloquait et ne voulait plus se déplacer. 
192 7 Maeva Garcia
Cette erreur nous a bloqué et nous a fait perdre beaucoup de temps alors que celle-ci n’était pas de notre ressort.
193 7 Maeva Garcia
Nous avons finalement réussi à contourner l’erreur en contrôlant la tête du robot en lui donnant une position fixe,
194 7 Maeva Garcia
ce qui est censé être réaliser automatiquement si celle-ci n’est pas programmée pour réaliser une tâche. Comme inscrit dans le Gantt,
195 7 Maeva Garcia
nous avons passé du temps pour résoudre cette erreur et cela a eu une répercussion sur le reste des tâches prévues.