Rapport d'avant-projet » History » Version 8

Maeva Garcia, 10/13/2017 09:07 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. 
196 8 Maeva Garcia
197 8 Maeva Garcia
h2. 3.3. Choix des objets 
198 8 Maeva Garcia
199 8 Maeva Garcia
Pour ce qui est du choix des objets, nous avons fait des recherches sur la capacité du robot à prendre des objets.
200 8 Maeva Garcia
Nous savons qu’il ne peut pas se baisser et prendre un objet situé au sol ou même en hauteur. Il est aussi limité par la masse de l’objet,
201 8 Maeva Garcia
celle-ci ne doit pas dépasser 400 grammes. Nous avons donc fait des choix sur sa masse et son volume, il doit pouvoir être tenue dans sa main.
202 8 Maeva Garcia
Pour ce qui est de la reconnaissance des objets nous avons pensé à des QR codes,
203 8 Maeva Garcia
grâce à eux le robot sera capable de reconnaitre et donc de différencier les objets mais aussi de les situer dans l’espace.
204 8 Maeva Garcia
On peut voir figure 4 un exemple de QR code que l’on pourrait utiliser et coller sur un objet afin que le robot le reconnaisse en utilisant ArUco.
205 8 Maeva Garcia
206 8 Maeva Garcia
!Image1.jpg!
207 8 Maeva Garcia
208 8 Maeva Garcia
Les objets peuvent aussi être choisis en fonction de leur forme, comme par exemple des sphères, des carrés ou encore des cylindres. Mais ils peuvent aussi être choisis par leurs couleurs.
209 8 Maeva Garcia
210 8 Maeva Garcia
211 8 Maeva Garcia
h1. 4. Les résultats
212 8 Maeva Garcia
213 8 Maeva Garcia
Pour ce qui est des résultats nous avons fait le choix de prendre comme outil de développement ROS.
214 8 Maeva Garcia
En effet, après une étude des autres outils nous avons pu faire un bilan voir figures 5,6 et 7, 
215 8 Maeva Garcia
et faire le point avec toutes les études réalisées autour de ces outils. Nous avons ainsi pu conclure 
216 8 Maeva Garcia
que l’outil ROS était celui qui pouvait répondre à toutes nos attentes et qui permet de contrôler tous les actionneurs et
217 8 Maeva Garcia
récepteurs que l’on a besoin pour mener à bien notre projet.
218 8 Maeva Garcia
219 8 Maeva Garcia
!pep1.png!
220 8 Maeva Garcia
221 8 Maeva Garcia
!pep2.png!
222 8 Maeva Garcia
223 8 Maeva Garcia
!pep3.png!