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. |