Vous êtes sur la page 1sur 72

Département Génie Informatique

Filière : Génie informatique embarquée

Rapport de projet de fin d’étude


Mise en œuvre des robots Thymio,
Ozobot Evo et « Seeedstudio jetbot
smart car »

Présenté par :
Encadré par :
Imane BOUAZZAOUI
Pr. Mostafa AZIZI
Abderrahim MAKOUAR

Soutenu le 21/04/2022 devant le jury :


Pr. Mohcine KODAD
Pr. Mbarek NASRI
Pr. Mostafa AZIZI

Année Universitaires 2021/2022


Dédicaces

Nous dédions ce modeste de travail à :

Nos chers parents

Aucune dédicace ne serait témoin de notre profond amour, notre


immense gratitude et notre plus grand respect envers nos parents,
car nous ne pourrons jamais oublier la tendresse et l’amour dévoué
par lequel ils nous ont toujours entourés.

ET

A toutes les personnes qui ont prodigué des encouragements et se


sont donné la peine de nous soutenir durant cette formation. À nos
chers professeurs sans aucune exception.

1
Remerciements

Ce travail n’a pas pu prendre naissance que par l’aide de certaines personnes à
qui nous présentons nos sincères remerciements.

Nos profondes gratitudes et reconnaissances vont également à notre


respectueux encadrant professeur Pr. Mostafa AZIZI pour sa patience, sa
disponibilité, son effort et surtout ses judicieux conseils grâce auxquels nous
avons pu mener à terme ce travail. Nous le remercions de nous avoir encadrés,
orientés et aidés.

Nous exprimons également notre profonde gratitude au Pr. Mohcine KODAD, le


responsable de notre filière «génie informatique embarquée » et tous nos
professeurs pour leurs orientations durant notre formation.

Nous remercions les membres du jury pour leur présence, pour leur lecture
attentive du présent rapport, ainsi que pour les remarques qu'ils nous
adresseront.

Nous tenons enfin à exprimer nos profondes reconnaissances à nos parents,


pour leurs soutiens infaillibles et leurs amours inconditionnels.

Dans l’impossibilité de citer tous les noms, que toutes les personnes ayant
contribués de près ou de loin aux réalisations de ce projet, trouvent ici
l’expression de nos sincères remerciements.

2
Résumé
Dans ce rapport nous avons la mise en œuvre de trois robots : Thymio,
Ozobot Evo et « Seeedstudio jetbot smart car ». Tout d'abord, le petit
robot Thymio, ses deux roues lui permettent de se déplacer et
manœuvrer, tandis qu'il embarque des boutons ainsi que de nombreux
capteurs infrarouges. Son accessibilité est liée à la disponibilité des
interfaces de programmation comme Thymio Suite et Aseba Studio.les 6
comportements sont toujours présents dans le robot. En résumé, il s'agit
d'un robot complet, doté de nombreux capteurs et accessibles à tous.
Ensuite, le robot Ozobot Evo est un robot miniature, le plus petit de sa
catégorie, qui roule et qui possède sous sa base des capteurs lui
permettant de prendre des informations de couleurs. Equipé sous sa
base de capteurs de détection optique, il réagit également aux couleurs
qu'il traverse sur son chemin. On peut également le programmer sur le
site Ozoblockly. Finalement, JetBot est un projet d'IA open source pour
les fabricants. Il est facile à installer et à utiliser, est compatible avec de
nombreux accessoires populaires et est livré avec plusieurs didacticiels
interactifs qui vous montrent comment exploiter la puissance de l'IA pour
apprendre à JetBot à suivre des objets, à éviter les collisions et plus
encore. Les tâches que nous avons effectuées avec les trois robots sont
nombreuses, mais nous donnons quelques exemples: Suivi une ligne
avec des sons «Thymi », Thymio dessinateur, tour de Victoire « Ozobot
Evo», danse avec Ozobot Evo, changer de couleur et parler «Ozobot
Evo», l’assemblage et connectivité de robot «Seeed studio jet bot smart
car Kit » et d'autre programmes.

3
Summary
In this report we have the implementation of three robots: Thymio,
Ozobot Evo and “Seeedstudio jetbot smart car”. First of all, we started
with the small robot Thymio, its two wheels allow it to move and
maneuver, while it embeds buttons as well as numerous infrared
sensors. Its accessibility is linked to the availability of programming
interfaces such as Thymio Suite. The 6 behaviors are always present in
the robot. In summary, it is a complete robot, equipped with many
sensors and accessible to all. Then, the Ozobot Evo robot is a miniature
robot, the smallest in its category, which rolls and has sensors under its
base allowing it to take color information. Equipped under its base with
optical detection sensors, it also reacts to the colors it passes through on
its way. It can also be programmed on the Ozoblockly site. Finally,
JetBot is an open source AI project for manufacturers. It's easy to set up
and use, is compatible with many popular accessories, and comes with
several interactive tutorials that show you how to harness the power of AI
to teach JetBot to track objects, avoid collisions, and more. . The tasks
we performed with the three robots are many, but we give some
examples: Following a line with "Thymio" sounds, Thymio cartoonist,
Victory trick "Ozobot Evo", dance with Ozobot Evo, change color and talk
"Ozobot Evo", robot assembly and connectivity "Seeed studio jet bot
smart car Kit" and other programs.

‫الملخص‬
"Seeedstudio jetbot smart ‫ و‬Ozobot Evo ‫و‬: Thymio ‫في هذا التقرير لدينا تنفيذ ثالثة روبوتات‬
‫ بينما يتضمن‬، ‫ تسمح له عجلته ذات العجلتين بالتحرك والمناورة‬، Thymio ‫ بدأنا بالروبوت الصغير‬، ‫بادئ ذي بدء‬car".
‫ ترتبط إمكانية الوصول الخاصة به بتوافر واجهات البرمجة‬.‫أزرارا ب اإلضافة إلى العديد من أجهزة استشعار األشعة تحت الحمراء‬
ً
‫ مزود بالعديد من أجهزة‬، ‫ إنه روبوت كامل‬،‫ باختصار‬.‫دائما في الروبوت‬
ً ‫توجد السلوكيات ا لستة‬ Thymio Suite. ‫مثل‬
‫ والذي يتدحرج‬،‫ وهو األصغر في فئته‬،‫مصغرا‬
ً ‫ روبوت‬Ozobot Evo ‫ يعد‬،‫ بعد ذلك‬.‫االستشعار ويمكن للجميع الوصول إليه‬
،‫ مزو ًدا أسفل قاعدته بأجهزة استشعار للكشف البصري‬.‫ويحتوي على أجهزة استشعار أسفل قاعدته تسمح له بأخذ معلومات األلوان‬
‫هو‬JetBot ،‫أخيرا‬ ً Ozoblockly. ‫ يمكن أيضًا برمجتها على موقع‬.‫فإنه يتفاعل أيضًا مع األلوان التي يمر بها في طريقه‬
،‫ وهو متوافق مع العديد من الملحقات الشائعة‬،‫ من السهل اإلعداد واالستخدام‬.‫مشروع مفتوح المصدر للذكاء االصطناعي للمصنعين‬
‫ تتبع الكائنات‬JetBot ‫ويأتي مع العديد من البرامج التعليمية التفاعلية التي توضح لك كيفية تسخير قوة الذكاء االصطناعي لتعليم‬
‫ اتباع سطر بأصوات‬:‫ لكننا نقدم بعض األمثلة‬، ‫ المهام التي أجريناها مع الروبوتات الثالثة كثيرة‬.‫وتجنب االصطدامات والمزيد‬
، Ozobot Evo ‫ والرقص مع‬، "Ozobot Evo" ‫ وخدعة النصر‬، Thymio ‫ رسام كاريكاتير‬،"Thymio"
"Seeed studio jet bot smart ‫ تجميع الروبوت واالتصال‬، "Ozobot Evo" ‫وتغيير اللون والتحدث‬
.‫والبرامج األخرى‬car Kit"

4
Table des matières
Dédicaces ....................................................................................................................................... 1
Remerciements ................................................................................................................................. 2
Résumé .......................................................................................................................................... 3
Table de figures ........................................................................................................................ 7
Liste des tableaux .................................................................................................................... 8
Abréviations .............................................................................................................................. 9
Introduction Générale ............................................................................................................ 10
Chapitre 1 : Présentation des robots Thymio, Ozobot Evo et seeedstudio jetbot smart
car kit ....................................................................................................................................... 12
I. Présentation de robot Thymio : .................................................................................... 13
1) Robot Thymio ........................................................................................................... 13
a) Allumer et éteindre le robot ....................................................................................... 13
b) Recharger Thymio ..................................................................................................... 13
c) Découvrir le matériel .................................................................................................. 14
d) Les capteurs .............................................................................................................. 14
e) Les actuateurs ........................................................................................................... 15
f) Les autres éléments .................................................................................................. 16
2) Les 6 comportements préprogrammés du Thymio ............................................. 16
3) Les différents langages de programmation du robot Thymio ........................... 18
A. Logiciel ASEBA Studio ............................................................................................. 18
B. Thymio Suite : ............................................................................................................ 23
Tableau informatif sur le robot Thymio ............................................................................. 25
II. Présentation de Robot OZOBOT EVO : ........................................................................ 27
1) Robot Ozobot Evo : ................................................................................................. 27
a) Recharger OZOBOT : ............................................................................................... 27
.................................................................................................................................................. 28
b) Mise en marche : ....................................................................................................... 28
c) Prendre soin d’Ozobot : ............................................................................................. 28
d) Découvrir le matériel .................................................................................................. 29
2) Les différents langages de programmation du robot Thymio : ......................... 30
a) Programmation avec des codes de couleur .............................................................. 30
b) Programmation par blocs avec Ozoblockly ............................................................... 31
c) Créer le programme................................................................................................... 31
d) Télé verser le programme ......................................................................................... 32
Tableau informatif sur le robot Ozobot Evo ...................................................................... 33

5
III. Présentation de Robot seeedstudio jetbot smart car kit : ..................................... 35
1) Robot seeedstudio jetbot smart car :.................................................................... 35
Applications ........................................................................................................................ 35
2) L’ordinateur NVIDIA Jetson Nano.......................................................................... 36
Chapitre 2: Mise en œuvre et application............................................................................ 39
I. Les missions réalisées avec le robot Thymio: ............................................................ 40
1) Suivi une ligne avec des sons ............................................................................... 40
2) Thymio dessinateur................................................................................................. 40
Timer (minuterie) ................................................................................................................ 43
3) Accélération de Thymio .......................................................................................... 43
4) Initiation au mémoire............................................................................................... 43
5) Thymio émet des sons avec les capteurs ............................................................ 44
II. Les missions réalisées avec le robot Ozobot Evo: .................................................... 44
1) En mode suiveur de ligne ....................................................................................... 45
2) En mode programmation ........................................................................................ 46
a) Exemple de programme carrée ................................................................................. 46
b) Exemple de programme de tour de Victoire.............................................................. 47
c) Exemple de Programme vertigineux ......................................................................... 47
d) Programme pour éviter le rouge................................................................................ 48
e) Programme de dance avec Ozobot Evo .................................................................. 50
f) Programme d’animation couleur ............................................................................... 50
g) Programme de changer de couleur et parler ............................................................ 51
3) Conduit Ozobot Evo avec l'application ................................................................. 52
III. Les tâches réalisées avec le robot seeedstudio jetbot smart car kit: .................. 53
1) Assemblage du kit d'IA JetBot ............................................................................... 53
2) Configuration du logiciel ........................................................................................ 60
a) JetBot Suivi d'objet .................................................................................................... 62
3) Les diagrammes ...................................................................................................... 63
a) Diagramme de cas d’utilisation ................................................................................. 63
b) Diagramme de définition de bloc « Thymio »............................................................ 64
c) Diagramme de définition de bloc « Ozobot » ............................................................ 64
Conclusion Générale et perspectives.................................................................................. 66
Références .............................................................................................................................. 67
Annexe ..................................................................................................................................... 68

6
Table de figures

Figure 1: Robot Thymio ............................................................................................................ 13


Figure 2: La carte mère du Thymio .......................................................................................... 14
Figure 3: Matériel du robot Thymio ......................................................................................... 14
Figure 4: Thymio possède de nombreux capteurs actionneurs et connecteurs ..................... 15
Figure 5: logiciel Aseba Studio ................................................................................................ 19
Figure 6: L’interface VPL.......................................................................................................... 20
Figure 7: Langage de programmation Blockly ......................................................................... 21
Figure 8: cliquez sur "Lancer Blockly"...................................................................................... 21
Figure 9: L'interface de Blockly ................................................................................................ 22
Figure 10: la programmation textuelle ..................................................................................... 23
Figure 11:Thymio Suite ............................................................................................................ 23
Figure 12 : Le Robot Ozobot Evo ............................................................................................ 27
Figure 13: Recharger OZOBOT .............................................................................................. 28
Figure 14: Le calibrage de Ozobot Evo ................................................................................... 28
Figure 15: Les composants de Ozobot Evo 1 ......................................................................... 29
Figure 16: Les composants d’Ozobot Evo 2 ............................................................................ 29
Figure 17: Les codes couleurs ................................................................................................. 30
Figure 18:L’éditeur Ozoblockly ................................................................................................ 31
Figure 19: Télé versement le programme................................................................................ 32
Figure 20: le matériel de seedstudio jetbot smart car ............................................................. 35
Figure 21: Robot seeedstudio jetbot smart car........................................................................ 35
Figure 22: L'ordinateur NVIDIA Jetson Nano .......................................................................... 36
Figure 23: code pour suivre une ligne avec des sons ............................................................. 40
Figure 24: les programme de dessins ..................................................................................... 42
Figure 25: programme de dessin d'étoile qui est en dessu ..................................................... 42
Figure 26: programme d'accélération de Thymio .................................................................... 43
Figure 27: Programme d'initiation au mémoire ........................................................................ 43
Figure 28: Programme pour émet des sons ............................................................................ 44
Figure 29: suivi une ligne noire ................................................................................................ 44
Figure 30: Programme pour répéter les sonsenregistrés ........................................................ 44
Figure 31: sons de pompiers.................................................................................................... 44
Figure 32: Guider Ozobot Evo ................................................................................................. 45
Figure 33: suivi une ligne avec changement de vitesse .......................................................... 45
Figure 34: Tracer un code pou Ozobot .................................................................................... 45
Figure 35 : L'interface Ozolockly .............................................................................................. 46
Figure 36: Carrée ..................................................................................................................... 46
Figure 37: Tour de Victoire....................................................................................................... 47
Figure 38: Ozobot vertigineux .................................................................................................. 48
Figure 39: Ozobot éviter le rouge ............................................................................................ 48
Figure 40: la carte pour le code éviter le rouge ....................................................................... 49
Figure 41: Ozobot "saute" ........................................................................................................ 49
Figure 42: La carte du code ..................................................................................................... 50
Figure 43: Dance avec Ozobot Evo ........................................................................................ 50
Figure 44: d’animation couleur................................................................................................. 51
Figure 45: changer de couleur et parler................................................................................... 52
Figure 46: L'application Evo par Ozobot .................................................................................. 53
Figure 47: Jetbot contient le matériel suivant .......................................................................... 53
Figure 48: moteur ..................................................................................................................... 54

7
Figure 49: fixez chaque moteur ............................................................................................... 54
Figure 50: Assemblez les antennes ......................................................................................... 54
Figure 51: Montez la caméra .................................................................................................. 55
Figure 52: Les entretoises sur la boîte métallique ................................................................... 55
Figure 53: Fixez les roues ........................................................................................................ 56
Figure 54: Assembler la boîte en métal ................................................................................... 56
Figure 55: Fixez la planche Jetson Nano ................................................................................ 57
Figure 56: Assemblez le Wireless-AC 8265 ............................................................................ 57
Figure 57: Fixez le module WiFi .............................................................................................. 58
Figure 58: Monter la batterie .................................................................................................... 58
Figure 59: Robot JetBot ........................................................................................................... 58
Figure 60: Branchez l'OLED .................................................................................................... 59
Figure 61: Le câblage du moteur ............................................................................................. 59
Figure 62: Le câblage complet................................................................................................. 60
Figure 63:Démarrez Jetson Nano ............................................................................................ 62
Figure 64:Ouvrir et suivre le live_demo ................................................................................... 63
Figure 65: Diagramme de cas d'utilisation............................................................................... 63
Figure 66: BDD de Thymio....................................................................................................... 64
Figure 67: BDD Ozobot Evo..................................................................................................... 64

Liste des tableaux


Tableau 1 : Tableau informatif sur le robot Thymio ................................................................. 25
Tableau 2: Tableau informatif sur le robot Ozobot Evo ........................................................... 33

8
Abréviations
AI : Artificial Intelligence
PoE : Power over Ethernet
EPFL : l’École Polytechnique Fédérale de Lausanne
ECAL : l'École Cantonale d'Art de Lausanne
USB : Universal Serial Bus
SD: Secure Digital
SDHC : Secure Digital High Capacity
SDXC : Secure Digital eXtended Capacity
Li-Po : Lithium-Polymère
GNU : Lesser General Public License
VPL : Le langage de programmation visuel
GPIO : General Purpose Input/Output
HDMI : High Definition Multimedia Interface (Interface multimédia haute-défintition).
CC : Un courant continu
CSI : Camera Serial Interface ; MIPI : l'interface mobile de processeur d'industrie.

9
Introduction Générale
La robotique est définie comme étant l’ensemble des techniques permettant la
conception et la réalisation de machines automatiques ou de robots, elle est basée sur
les capteurs, des systèmes logiques à base des microprocesseurs et les
actionneurs. C'est ainsi que le concept de robot mobile et ses complexités se sont
développées positivement avec diverses applications, notamment la planification
d'itinéraire, l'auto-localisation et l'interprétation de cartes.
L’origine du mot robot provient de la langue tchèque dans laquelle sont ancêtre «ro-
bota» signifie travail forcé. Le terme de robotique quant à lui est apparu en 1942 dans
le cycle universellement connu rédigé par Isaac Asimov et intitulé « Les robots ».
Au cours de l’histoire on peut distinguer 3 types de robots correspondant en quelques
sorte à l’évolution de cette ”espèce” créée par l’Homme. Le premier type de machine
que l’on peut appeler robot correspond aux « automates ». Le second type de robot
correspond à ceux qui sont équipés de capteurs, par exemple éviter les obstacles et/ou
suivre une trajectoire. Enfin le dernier type de robot existant correspond à ceux
disposant d’une intelligence dite « artificielle » et reposant sur des modèles
mathématiques complexes tels que les réseaux de neurones.
Dans ce projet, nous allons nous intéresser à un type précis de robots mobiles : tout
d'abord, Thymio est un petit robot qui va vous permettre de découvrir le monde de la
robotique et d'apprendre le langage des robots. Il comprend divers capteurs qui
peuvent mesurer la lumière, les distances, température, etc. C'est un robot autonome
qui évite les obstacles, suit une main ou un objet, suit les commandes fournies par les
boutons, fait du bruit lorsqu'on le touche, suit un chemin et réagit au son. Son
accessibilité est liée à la disponibilité des interfaces de programmation comme Thymio
Suite et Aseba Studio. Ensuite, le robot Ozobot Evo est un robot miniature, le plus petit
de sa catégorie qui roule et qui possède sous sa base des capteurs lui permettant de
prendre des informations de couleurs. Ozobot-bit est utilisable de deux façons en
mode suiveur de ligne (imprimée ou tracée au feutre à pointe large) et en mode
programmation avec le logiciel en ligne Ozoblockly. Finalement, le robot JetBot Smart
Car est basé sur l'ordinateur NVIDIA Jetson Nano AI. Il s'agit d'un kit AI Robot basé
sur le kit de développement Jetson Nano. Prend en charge la reconnaissance faciale,
le suivi des objets, le suivi automatique des lignes ou l'évitement des collisions, etc.
JetBot est construit à l'aide des bibliothèques Python simples de Jetson Nano et du
matériel de fabricant populaire.
Notre intérêt pour la question suivante : comment programmer un robot mobile pour
effectuer les tâches que l'on souhaite ? Par exemple émet des sons et des dessins
avec le robot Thymio et d'autres missions avec les autres robots.
Dans le but de répondre à cette problématique, nous allons dans un premier temps
opter à une étude fonctionnelle portant sur nos robots mobiles, en commençant par
une analyse détaillée sur les différentes fonctions que doit satisfaire notre robot pour
arriver enfin à obtenir une conception claire et nette de nos robots. Ensuite, nous

10
passons à l'étape de mise en œuvre de notre mission : Thymio dessinateur,
accélération de Thymio, émet des sons avec les capteurs de thymio, de changer de
couleurs et parler avec Ozoot Evo et d'autres missions.
Ce rapport sera présenté comme suit : le premier chapitre traitera le côté de
présentation des robots Thymio, Ozobot Evo et seeedstudio jetbot smart car Kit.
Ensuite, Le deuxième chapitre sera réservé à mise en œuvre et application et nous
terminons avec une conclusion générale.

11
Chapitre 1 : Présentation des robots Thymio, Ozobot Evo et
seeedstudio jetbot smart car kit

Introduction

Dans ce chapitre introductif, nous présenterons les trois robots. D'abord,


on a commencé par le robot Thymio, petit robot dédié à l'enseignement.
Ses deux roues lui permettent de se déplacer et manœuvrer, tandis qu'il
embarque des boutons ainsi que de nombreux capteurs infrarouges. Son
accessibilité est liée à la disponibilité des interfaces de programmation. En
résumé, il s'agit d'un robot complet, doté de nombreux capteurs et
accessibles à tous. Deuxièmes, nous allons présenter le robot Ozobot Evo
est un robot miniature, le plus petit de sa catégorie, qui roule et qui
possède sous sa base des capteurs lui permettant de prendre des
informations de couleurs. Equipé sous sa base de capteurs de détection
optique, il réagit également aux couleurs qu'il traverse sur son chemin. On
peut également le programmer sur le site Ozoblockly. Finalement, JetBot
est un projet d'IA open source pour les fabricants. Il est facile à installer et
à utiliser, est compatible avec de nombreux accessoires populaires et est
livré avec plusieurs didacticiels interactifs qui vous montrent comment
exploiter la puissance de l'IA pour apprendre à JetBot à suivre des objets,
à éviter les collisions et plus encore.

12
I. Présentation de robot Thymio :
1) Robot Thymio
Thymio II a été développé en collaboration par l’École Polytechnique Fédérale de
Lausanne (EPFL) et l'École Cantonale d'Art de Lausanne (ECAL). Leur but est de
fournir un robot éducatif à bas prix. Thymio est un petit robot qui te permettra de
découvrir l’univers de la robotique et d’apprendre le langage des robots. Il s’adresse à
une grande tranche d’âge dû à sa programmation évolutive. Il comprend différents
capteurs qui peuvent mesurer la lumière, les distances, la température, etc. Il possède
également des boutons tactiles, il peut se rendre compte qu’on lui donne une petite
tape et peut entendre quelqu’un qui frappe dans ses mains. Il possède deux roues,
chacune reliée à un moteur, lui permettant de se déplacer sur une table, ou sur le sol.
Il peut encore s’illuminer de toutes les couleurs et jouer de la musique.

Thymio c'est le nom de


ce petit robot blanc avec
deux roues qui
s'allume,fait du bruit et il
est truffé de capteurs.

Figure 1: Robot Thymio

a) Allumer et éteindre le robot


 Pour allumer le robot, il suffit d'appuyer et de maintenir le doigt sur le rond qui
se trouve au centre des flèches jusqu'à ce que le robot émette un son et
devienne vert. Cela prend quelques secondes.
 Pour éteindre le robot, il suffit de maintenir le doigt sur le rond central quelques
secondes jusqu'à ce que le robot joue une mélodie et s'éteigne complètement.
b) Recharger Thymio
Pour recharger Thymio, il suffit de le brancher à un ordinateur avec le câble
micro-USB fourni dans la valise. Si vous disposez d'un chargeur USB mural
standard, par exemple pour votre téléphone portable, vous pouvez y connecter
Thymio pour le charger. La charge sera d'ailleurs plus rapide. Pour charger
plusieurs Thymios à la fois, vous pouvez utiliser le hub qui se trouve dans la
valise. Lorsque Thymio est en charge, une lumière rouge s'allume près du port
USB.
Vous pouvez charger Thymio lorsqu'il est allumé ou éteint. Lorsque Thymio est
chargé, une lumière bleue s'allume près du port USB.

13
c) Découvrir le matériel

Figure 3: Matériel du robot Thymio

Figure 2: La carte mère du Thymio

Thymio possède de nombreux capteurs actionneurs et connecteurs :


d) Les capteurs
Un capteur est un dispositif qui transforme l’état d’une grandeur physique observée
(comme la température, la distance, la luminosité, le débit, le niveau, la pression, le
son) en une mesure utilisable. Il permet donc d’acquérir des données, des nombres,
comme une amplitude de courant ou de tension, une hauteur de mercure pour un
thermomètre, ou encore une distance de déviation d’une bulle pour un niveau. Tout
capteur doit être associé à un contrôleur pour pouvoir donner une information
manipulable.
 Cinq touches capacitives
Ces capteurs capacitifs sentent quand on les touche. Pas besoin d’appuyer, c’est
tactile.
 Cinq capteurs de proximité avant
Ils émettent de la lumière infrarouge en mesurant combien de lumière leur est réfléchie.
Si un objet se trouve dans l’axe de la lumière infrarouge, il réfléchit cette lumière. Ils
permettent à Thymio de mesurer la distance à un obstacle qui se trouve devant lui, en
face de lui ou sur les côtés.
 Deux capteurs de proximité arrière
Ils émettent de la lumière infrarouge en mesurant combien de lumière leur est réfléchie.
Si un objet se trouve dans l’axe de la lumière infrarouge, il réfléchit cette lumière. Ils
permettent à Thymio de mesurer la distance à un obstacle qui se trouve derrière lui.
 Deux capteurs de sol

14
Ils fonctionnent comme les autres capteurs de distance. Ils permettent à
Thymio de mesurer à quelle distance il se trouve du sol, et par exemple
de s’arrêter au bord d’une table. Ils lui permettent aussi de suivre des
lignes.
 Un capteur de température
Un thermomètre électronique qui permet à Thymio de mesurer la température qu’il fait.
 Un accéléromètre à 3 axes

Figure 4: Thymio possède de nombreux capteurs actionneurs et connecteurs

Pour savoir dans quelle position Thymio se trouve.


 Un récepteur de commande infrarouge
Pour recevoir les messages envoyés par la télécommande.
 Un récepteur de commande infrarouge

Il permet à Thymio de percevoir les sons.

e) Les actuateurs
Un actuateur, ou actionneur, est un dispositif d’une machine (moteur, vérin, speaker,
lampe, etc.) qui permet à une machine de transformer l’énergie qui lui est fournie en

15
un phénomène physique utilisable. Un actionneur exécute les ordres qui lui sont
envoyés par la partie commande de la machine.
 Un haut-parleur
Comme une enceinte, le haut-parleur permet à Thymio de faire du bruit ou de la
musique.
 Trente-neuf LED
Situées dessus, dessous, et à proximité, les LED de Thymio peuvent s’allumer de
toutes les couleurs.
 Deux roues
Animées par deux moteurs à vitesse variable, ces deux roues permettent à Thymio
d’avancer, de reculer et de tourner
f) Les autres éléments
 La connexion USB
On branche Thymio sur ce port micro USB pour le recharger ou bien pour le brancher
à l’ordinateur et le programmer.
 Le lecteur de carte mémoire
Avec une carte micro SD, il est possible d’utiliser d’autres sons pour Thymio (en format
.wav), que ce soit des sons, de la musiques ou des mots. Il est également possible de
sauvegarder des données internes sur la carte. Attention : Toutes les cartes micro SD
ne fonctionnent pas avec Thymio. Choisissez de préférence une carte SD (et non
SDHC ou SDXC), plutôt lente (“speed class” 2 ou 4), de petite capacité.
 Le crochet pour remorque
Un crochet qui permet à Thymio de se transformer en locomotive ou autre.
 Support crayon
On peut glisser un feutre dans ce trou pour dessiner avec Thymio. Avec un peu
d’imagination et d’ingéniosité, on peut tracer toutes sortes de formes géométriques.
 Bouton reset
Si Thymio charge mal ou s’il se comporte de manière anormale, vous pouvez le
RESETER en appuyant longtemps sur ce bouton. Laissez-le ensuite charger deux
heures.
 Niveau de batterie Li-Po
Cet indicateur permet de savoir si le robot est chargé.

2) Les 6 comportements préprogrammés du Thymio


Ces comportements sont toujours présents dans le robot. Pour en choisir un, démarrez
le robot et sélectionnez une couleur grâce aux boutons flèches, le bouton central

16
permettant de démarrer le comportement. Ensuite, le bouton central permet de revenir
au menu de sélection des comportements.

17
3) Les différents langages de programmation du robot Thymio
A. Logiciel ASEBA Studio

Accessibilité de Thymio est due à la mise à disposition de ses propres interfaces de


programmation. Il y en a en effet plusieurs, à commencer par l’interface de
programmation texte, ASEBA STUDIO qui permet d’exploiter entièrement le langage
ASEBA. Une adaptation de BLOCKLY est aussi disponible, qui permet d’aborder la
programmation texte de manière simplifiée, et enfin il y a VPL qui permet de
programmer Thymio visuellement grâce à des vignettes. Pour ces raisons, Aseba est
très adapté à la robotique pour l'éducation et la recherche. Aseba est open-source
(GNU), vous pouvez facilement le télécharger et jouer avec.

Techniquement, Aseba est une architecture de contrôle temps réel et distribué de


robot mobile, basée sur des événements. Aseba vise les robots à plusieurs
microcontrôleurs ou les groupes de robots à simple microcontrôleurs, réels ou
simulés. Le cœur d'Aseba est une machine virtuelle légère, suffisamment compacte
pour fonctionner sur microcontrôleurs. Aseba permet de programmer les robots dans
un langage ergonomique et simple d'accès, à partir d'un environnement de
développement intégré.

18
Figure 5: logiciel Aseba Studio

Aseba est composé de:

a) Programmation visuelle

La programmation visuelle est un composant d'Aseba. Cet environnement a été


conçu spécialement pour programmer Thymio facilement en combinant des blocs
événement et des blocs action.

Le langage de programmation visuel (VPL) pour le robot Thymio, créé par Dr. Jiwon
Shin et Dr. Stéphane Magnenat, est un module d'Aseba qui permet de programmer
le robot en associant des blocs d'événements et d'actions.

 Démarrer VPL

Pour démarrer la programmation visuelle, vous devez d'abord installer le logiciel


Aseba, et brancher votre Thymio à votre ordinateur.

Ensuite, cliquez sur cette icône:

 L’interface VPL

L’interface VPL est illustrée ci-dessous. Elle est composée de six zones :

1. Une barre d’outils avec les boutons pour créer un nouveau programme, en ouvrir
un existant, sauvegarder, lancer le programme, etc.

2. La zone de programmation pour construire le programme qui contrôlera Thymio.

3. Une zone de messages qui donne les messages d’erreur lorsque le programme
n’est pas construit correctement.

19
4. Les blocs d’événement disponibles pour construire votre programme. 5. Les blocs
d’action disponibles pour construire votre programme.

6. La traduction du programme en AESL, le langage textuel d’Aseba.

 Comment programmer

Programmer dans VPL se fait en associant un bloc événement à un ou plusieurs


bloc(s) action(s). Vous pouvez faire cela en glissant des blocs, depuis

Figure 6: L’interface VPL

Les listes d'événements ou d'actions des côtés de l'écran, sur des paires dans la
zone centrale de programmation.

1. Glisser un bloc d'événement depuis la partie gauche


2. Glisser un ou plusieurs bloc(s) d'action depuis la partie droite
3. Répéter les étapes ci-dessus jusqu'à ce que le programme désiré soit complet.
4. Cliquer sur charger et exécuter et vérifier que le robot se comporte comme on
l'attendait.
5. Plusieurs paires avec différentes instructions peuvent être assemblées. Une
fois que le programme est construit, il doit être chargé dans le robot en cliquant
sur le bouton charger et exécuter de la barre d'outils.

: Bouton charger et exécuter

b) Programmation Blockly
Blockly est un langage de programmation open-source mêlant programmation
visuelle et textuelle. Développé par Google, ce langage vous permet d'assembler des
blocs visuels dans lesquels du texte est écrit. La communauté Thymio a désormais
intégré ce langage dans Aseba (dès la version 1.5) :

20
Figure 7: Langage de programmation Blockly

Blockly fournit tous les événements disponibles sur Thymio, vous permettant de le
programmer de façon purement événementielle. C'est ce qui fait la différence
avec l'intégration Scratch, qui offre une interface similaire, mais avec une approche
plus séquentielle.

 Lancer Blockly

Une fois que l'environnement de programmation texte est ouvert, regarder dans le
coin gauche en bas de l'interface et cliquez sur "Lancer Blockly".

Figure 8: cliquez sur "Lancer Blockly"

 L'interface de Blockly

21
Figure 9: L'interface de Blockly

L'interface de blockly est composée de :

1. Une liste des catégories (événements, actionneurs, LED…) qui regroupe les
blocs
2. La fenêtre de sélection des blocs
3. La zone de programmation, dans laquelle vous glissez et assemblez les blocs
pour programmer
4. Les boutons "Play" et "Stop", qui chargent et arrêtent les programmes et le robot
5. Les icônes "Nouveau", "Ouvrir" et "Enregistrer Sous"
6. La documentation en ligne et le bouton de sélection de langue
7. L'équivalence du programme en format texte Aseba (non modifiable)

 Comment programmer

1. Choisissez une catégorie (commencez par un événement)


2. Choisissez un bloc et glissez-le dans la zone de programmation
3. Ajoutez d'autres blocs pour créer des groupes
4. Appuyez sur Play.

c) Programmation texte

Tu as fait beaucoup de choses avec VPL, tu pourras en faire encore plus avec Aseba
Studio et la programmation textuelle.

Le Thymio II est programmable avec le langage de programmation Aseba. Fortement


inspiré de Matlab, ce langage de programmation basé sur les évènements propose
toutefois une syntaxe simplifiée (entier sur 16 bits et tableaux). Pour profiter des
possibilités de ce langage à son maximum, nous recommandons l’installation de l’IDE
Aseba Studio. Cet environnement de développement entièrement dédié au langage
Aseba offre des fonctionnalités tels que la visualisation en temps réel des valeurs des
capteurs, une compilation instantanée, etc.

22
Figure 10: la programmation textuelle

B. Thymio Suite :
Le robot se programme avec Thymio Suite, 1 software qui permet de programmer le
robot Thymio avec 5 langages de programmation : VPL3, VPL, Scratch, Blockly et
Aseba (programmation textuelle).

Ce logiciel est compatible avec Windows, Mac, Linux et peut s’utiliser sur des iPads et
des tablettes Android.

Figure 11:Thymio Suite

a) Programmer Thymio depuis un ordinateur

1. Téléchargez le logiciel Thymio Suite


2. Installez le logiciel (compatible avec Windows, Mac et Linux)
3. Connectez votre robot (allumez-le, puis connectez-le via le câble)
4. Choisissez votre interface de programmation

23
b) Les 5 langages de programmation

 VPL (Visual Programming Language): un langage de programmation


événementielle, basé sur des associations de pictogrammes. Très simple à
prendre en main, parfait pour les jeunes enfants qui découvrent la
programmation.
 Scratch 3 : un langage de programmation visuelle à base de blocs d’instruction
qu’il faut emboîter de manière logique pour créer un programme plus ou moins
complexe.
 Blockly : utilisez les mathématiques, la logique, les boucles, les variables et
découvrez plus de concepts de programmation.
 Aseba : un langage texte développé pour Thymio, vous permettant entre autre
de récupérer les données des capteurs et actuateurs, et créer des programmes
beaucoup plus complexes.

24
Tableau informatif sur le robot Thymio

Tableau 1 : Tableau informatif sur le robot Thymio

Nom Thymio
Fabricant Mobsya EPFL - open source
Prix* * prix indicatif € Pack Education de 5 robots avec valise 790 €
Taille 11 x 11,2 x 5,3 cm
Chargement USB 1 à 2h
Autonomie 3 à 5h
Montage Non: livré monté, non démontable
Capteurs Microphone
récepteur infrarouge pour télécommande
capteurs de température
capteurs de proximité
accéléromètre 3 axes
capteurs de sol
5 boutons capacitifs
Actionneurs 1 haut-parleur
39 LEDS
2 moteurs DC
Connecteurs Liaison Port USB pour le chargement et la transmission du
programme transmission du programme par Wi-Fi
pour la version Thymio Wireless grâce au d’ongle
USB
Environnement de programmation *Aseba : programmation visuelle ou textuelle ou par
blocs *AsebaScratch *Blockly4Thymio
Système d'exploitation *Aseba peut être installé sur Linux, Mac OS et
Windows. *Une application Thymio VPL mobile pour
tablette et smartphone Android est en cours de
développement.
Matériel complémentaire *crayon
*télécommande
*tapis
*carte micro SD
*possibilité de créer des accessoires avec
impression 3D

25
Open Source / Propriétaire *Thymio est un projet open-source et open-
hardware. Son matériel est protégé par une licence
Creative Commons Attribution- ShareAlike 3.0
Unported. *Aseba est open-source (GNU Lesser
General Public License). Le code source de Thymio
et de son environnement de programmation est
disponible sous une licence LGPL
Points forts *robuste *évolutif *prise en main rapide *possibilité
d'ajouter des éléments LEGO *possibilité de
dessiner (trou intégré) *open source
Points faibles *moteurs bruyants *coque opaque *capteurs de
sons et de chocs hypersensibles
Usage sociétal *VGA (Véhicule Guidé Automatique) dans les
transports de matériaux pour les lignes
d’assemblage, les marchandises dans les
entrepôts, mais aussi les repas dans les restaurants
et les médicaments dans les hôpitaux.
(Autoguidage) *tondeuse à guidage périphérique à
programmation *aspirateur robot
Vitesse de déplacement plusieurs vitesses jusqu'à 14 cm/s

26
II. Présentation de Robot OZOBOT EVO :
1) Robot Ozobot Evo :
OZOBOT EVO est un robot miniature, le plus petit de sa catégorie (2,54 cm de
diamètre) qui roule et qui possède sous sa base des capteurs lui permettant de prendre
des informations de couleurs. Il peut se déplacer sur l’écran d’une tablette tactile, mais
aussi sur une simple feuille blanche sur laquelle des lignes aux crayons feutres ont été
dessinées.
Propulsé par deux micromoteurs, il se déplace le long de lignes tracées sur des
feuilles ou sur l'écran d'une tablette tactile (via un logiciel de dessin ou l’application
dédiée). Il est ainsi capable d'effectuer toutes sortes de trajets. Doté sous sa base des
capteurs de détection optique, il réagit également aux couleurs qu'il croise sur son
chemin. En utilisant certains codes de couleurs qui correspondent à son langage, il est
donc possible de lui faire réaliser différentes actions (mouvements de base, rotation,
accélération, clignotements variés...). Le robot va interpréter les séquences de
couleurs rencontrées et exécuter les instructions décodées. Il est également possible
de le programmer sur le site Ozoblockly en emboitant des blocs d’instruction puis en
chargeant le programme sur O via des flashs lumineux.

Figure 12 : Le Robot Ozobot Evo

a) Recharger OZOBOT :
Le moteur des Ozobots est alimenté par une batterie. Si l’Ozobot clignote en rouge, la batterie
doit être rechargée au plus vite. Branchez le mini câble USB à un ordinateur ou à un chargeur
multiport et branchez l’Ozobot au câble. Quand la batterie est presque chargée complètement,
il commence à clignoter en vert. Il montrera une lumière verte continue quand la batterie sera
complètement chargée.

Temps de recharge : environ 1heure pou Ozobot Evo.

Durée de la charge : entre 60 et 90 minutes.

« Le fil permet uniquement la recharge et


non le téléchargement d’un programme »

27
b) Mise en marche :
Les Ozobots ont un seul bouton, le bouton
marche/arrêt. Vous pouvez le trouver au
milieu sur le côté gauche des Ozobots, les
capteurs optiques étant à l'avant. Pour
éteindre, il suffit de ré-appuyer sur le
bouton.

Figure 13: Recharger OZOBOT

c) Prendre soin d’Ozobot :


Il faut :
 Le calibrer et Le calibrage se fait de deux façons :
 Calibrage sur papier :
- Appuyez sur l’interrupteur (au côté) pendant deux secondes jusqu’à ce que les
lampes LED clignotent en blanc.
- Déposez ensuite l’Ozobot exactement sur le point noir destiné au calibrage.
- L’Ozobot avance un peu et clignote en vert. Cela veut dire que le calibrage est
réussi. S’il clignote en rouge, vous devez recommence
 Calibrage digital :
Ouvrez l’application Ozobot ou Ozoblockly (interface de programmation en ligne)
- Réglez la clarté de votre écran sur 100%.
- Appuyez sur l’interrupteur (au côté) pendant 2 secondes. Les lampes LED
clignotent en blanc.
- Placez maintenant l’Ozobot contre la partie blanche ou sur une partie blanche
de l’écran. L’Ozobot se met à clignoter en blanc.

Figure 14: Le calibrage de Ozobot Evo

28
- Si l’Ozobot clignote en vert c’est que le
calibrage est réussi, s’il clignote en rouge vous
devez recommencer.

 Le faire rouler avec la main sur une feuille


blanche pour nettoyer ses roues

d) Découvrir le matériel
 Les capteurs :
- Capteurs optiques pour détecter des
lignes et des codes couleurs.
- Capteurs de proximité pour la détection
d'obstacles.
Figure 15: Les composants de Ozobot Evo 1

 Actionneurs :
Roulant: 2 micromoteurs et une
transmission par friction.
Changement de couleurs: lumière
LED.
Haut-parleur

Figure 16: Les composants d’Ozobot Evo 2

 Connecteurs Liaison :
- USB pour le chargement uniquement.
- Transmission d'un programme ou calibration du robot par la lumière (sur écran de
tablette par exemple).
- Transmission d'un programme en BlueTooth.

 Les capteurs situés sous le robot ne distinguent des lignes continues, ni trop
fines ni trop épaisses.
 Les « leds» situées sous sa coque prennent la couleur de la ligne qu’il suit
(sauf noir, gris, marron, jaune clair).

29
2) Les différents langages de programmation du robot Thymio :
a) Programmation avec des codes de couleur

Ce langage de programmation s’appuie sur la capacité du robot à ;


• détecter les couleurs rouge, vert, bleu et noir grâce à ses capteurs.

• de suivre des lignes.


Pour programmer Ozobot, il suffit de tracer, sur une feuille de papier, une ligne noire
pour le guider et d’y insérer des codes visuels de couleurs, appelés OzoCodes.

 Les codes couleurs

Figure 17: Les codes couleurs

Pour qu’une combinaison de couleurs soit bien détectée, il y a plusieurs critères


à respecter :
- La combinaison doit être correctement alignée au tracé de la ligne.
- Chaque couleur doit faire à peu près la même taille que sur le tableau présenté
précédemment. Si le robot détecte trop longtemps ou pas assez une couleur, il
ne détectera pas la combinaison).
- Les couleurs doivent respecter celles indiquées dans le document fourni par le
constructeur (Un bleu trop foncé ou trop clair ne marchera pas. Idem pour le
rouge et le vert.)

30
b) Programmation par blocs avec Ozoblockly
Ozobot peut également être programmé en ligne, sur ordinateur ou tablette, grâce au
langage Ozoblockly. On programme alors le robot avec des blocs de couleur qu’il faut
assembler (à la manière de Blockly et Scratch).
Le programme est ensuite transféré au robot par un système de signaux lumineux en
posant le robot directement sur l’écran de l’ordinateur ou de la tablette.
Il existe 4 niveaux de difficulté avec plus ou moins d’options et de blocs. Le niveau 1
convient aux élèves non lecteurs, les blocs sont identifiés par des dessins. Pour les
autres niveaux, les blocs contiennent les instructions en anglais.
Pour cela, vous devez aller sur l’éditeur Ozoblockly.

Figure 18:L’éditeur Ozoblockly

1- Sélectionner son type de robot


2- Choisir une des 5 interfaces : 1. Pré-lecteur, 2. Débutant, 3.Intermédiaire,
4. Avancé, 5.Master.
3-Déplacer les blocs de programmation dans la zone centrale.
4-Cliquer sur FLASH pour calibrer l’Ozobot et charger le programme.
5-Sauvegarder, partager son programme.
c) Créer le programme
Pour aller plus loin, vous pouvez directement programmer le robot Ozobot Evo en lui
transférant un programme qu’il doit exécuter.
L’application possède 5 niveaux de difficulté afin d’apprendre à l’apprenant les
concepts de la programmation petit à petit.
 1er niveau « Pré-Lecteur »: Le niveau le plus simple, chaque bloc est
représenté par des symboles qu’il faut mettre les uns à la suite des autres. Il n’y
a que trois types de blocs : blocs de mouvement, blocs pour changer la couleur
de la led du dessus et des blocs pour faire une pause de X secondes.
 2ème niveau « Débutant » : Les anciens blocs sont un peu plus détaillés avec
du texte en anglais, mais l’anglais utilisé est très simple et permettra à

31
l’apprenant de réviser son anglais. Un nouveau type de bloc apparaît, la boucle.
Il permet de répéter des bouts de programme.
 3ème niveau « Intermédiaire » : Ajoute 2 types de bloc : les blocs permettant
de se déplacer sur des lignes et les blocs de condition qui exécuteront des bouts
de programme en fonction de certaines conditions.
 4ème niveau « Avancé » : Ce niveau introduit la notion de fonction et de
variable et complexifie les blocs conditions pouvant dans ce niveau accueillir
plusieurs conditions.
 5ème niveau « Master » : une introduction au codage hybride et la possibilité
d'incorporer des éléments de programmation supplémentaires, tels que des
boucles, de la logique, des variables et des fonctions.

d) Télé verser le programme


Quand vous avez fini de créer votre programme, vous pouvez télé verser le
programme dans le robot. Pour cela cliquez sur FLASHING en bas à gauche
une barre va apparaître.
Vous devez d’abord étalonner l’Ozobot sur l’écran :
- Restez appuyé sur le bouton pendant deux secondes jusqu’à ce que la lampe
(LED) clignote en blanc.
- Posez rapidement l’Ozobot sur la marque blanche. Si le robot clignote vert
alors cela signifie que tout s’est bien passé sinon vous devez recommencer
l’étalonnage.

Figure 19: Télé versement le programme

Télé versement
(NB : penser à régler la luminosité de votre écran au maximum)
- Cliquez rapidement sur le bouton.
- Posez le robot sur la marque blanche prévue à cet effet.
- Cliquez sur « Load Evo »
- Le programme se télé verse pendant tout le long de la télé versement, la led doit
clignoter en vert. (NB : Si elle clignote rouge cela signifie qu’il y a eu un problème et
vous devez recommencer la télé versement du programme).
- Une fois finie, double cliquez sur le bouton pour exécuter votre programme.

32
L’Ozobot est très sensible à la lumière. Il en résulte que :
tout changement de support papier ou de luminosité peut modifier sa vision des
couleurs. Le calibrage permet alors d’habituer le robot à la nouvelle situation
qui se présente à lui. Il est donc essentiel de réaliser cette étape sur chaque
nouvelle activité ou quand le comportement du robot devient étrange. Vous
trouverez la notice pour réaliser le calibrage à la quatrième page de ce
document.

Tableau informatif sur le robot Ozobot Evo

Tableau 2: Tableau informatif sur le robot Ozobot Evo

Nom Ozobot Evo

Fabricant Ozobot

Prix* * prix indicatif 110€ l'unité

Taille très petit (3-5cm)

Chargement Batterie chargeable en 1 heure en USB

Autonomie Pas de données trouvées

Montage Non: livré monté, non démontable

Capteurs * Capteurs optiques pour détecter des


lignes et des codes couleurs
* Capteurs de proximité pour la
détection d'obstacles
Actionneurs "* Roulant: 2 micromoteurs et une
transmission par friction * Changement
de couleurs: lumière LED" * Haut-
parleur
Connecteurs Liaison "* USB pour le chargement uniquement
* Transmission d'un programme ou
calibration du robot par la lumière (sur
écran de tablette par exemple)" *
Transmission d'un programme en
Environnement de programmation * "Dessin": programmable par tracés de
lignes et codes couleurs sur la ligne *
Ozoblockly: interface de programmation
en ligne (navigateur internet). 5 niveaux
de difficulté, uniquement en anglais. *
Ozobot App: applications pour
programmation par dessins et tracés
(applications "EVO"
Système d'exploitation * En ligne, avec un navigateur internet
(tout environnement) * Système Android
ou iOs pour les applications
Matériel complémentaire * Utilisation possible uniquement de
papier pour des tracés avec des feutres
de couleur (des feutres "Ozobot"
existent, d'autres peuvent servir, ou des

33
gabarits à la bonne largeur) * Des packs
d'activités, des autocollants (codes
couleurs pour déplacements) sont dans
la boite * Personnalisation possible des
robots * Tablette ou ordinateur
(optionnel)
Open Source / Propriétaire Propriétaire

Fonctionnement * Le robot suit des lignes tracées


(largeur définie). * Les séquences de
couleur insérées dans la trajectoire
(Ozocodes) sont interprétées par le
robot et vont modifier son comportement
(vitesse, direction, temporisation,
compteur). * Jeux à imprimer ou
interactif en ligne sur la tablette. *
Application OzoDraw, OzoLuck and
OzoPath
Points forts * Ne nécessite pas bcp d'espace
(possible sur une table d'école) * Prise
en main très rapide pour les usages de
base (suiveur de ligne, codes couleurs)
* Plusieurs niveaux d'exploitation
(parcours libres, parcours proposés,
défis), et possibilités importantes en
programmation par blocs (tests,
variables, fonctions...) * Différenciation
(plusieurs niveaux avec OzoBlockly, ou
sur les tracés/dessins
Points faibles Manipulation fine du robot (petit objet) *
Dessin forcément précis pour les tracés
ou les codes couleurs (possible
utilisation de gommettes pour pallier au
problème) * Étiquettes fournies petites
et fragiles * Ozoblokly uniquement
disponible en ligne * Pour être plus
"fun", le robot réalise parfois des actions
non programmées. Peu adapté.
Vitesse de déplacement Plusieurs vitesses possibles

Usage sociétal VGA (Véhicule Guidé Automatique)


dans les transports de matériaux pour
les lignes d’assemblage, les
marchandises dans les entrepôts, mais
aussi les repas dans les restaurants et
les médicaments dans les hôpitaux.
(Autoguidage, Laser guidage)

34
III. Présentation de Robot seeedstudio jetbot smart car kit :
1) Robot seeedstudio jetbot smart car :
JetBot est un projet d'IA open source pour les fabricants, les étudiants et les
passionnés qui souhaitent apprendre l'IA et créer des applications amusantes. Il est
facile à installer et à utiliser, est compatible avec de nombreux accessoires populaires
et est livré avec plusieurs didacticiels interactifs qui vous montrent comment exploiter
la puissance de l'IA pour apprendre à JetBot à suivre des objets, à éviter les collisions
et plus encore. JetBot est également une excellente rampe de lancement pour créer
des projets d'IA entièrement nouveaux.

Figure 20: le matériel de seedstudio jetbot


smart car
Figure 21: Robot seeedstudio jetbot smart car

Le kit JetBot Smart Car est basé sur l'ordinateur NVIDIA Jetson Nano AI et comprend
le châssis complet du robot, les roues et les contrôleurs ainsi qu'une batterie et un
appareil photo 8MP. Il exécute Linux de bureau complet, inclut le SDK Jetpack pour
l'IA, la vision par ordinateur et plus encore. L'image JetBot inclut la prise en charge de
nombreux frameworks d'IA populaires tels que TensorFlow et PyTorch. JetBot est
construit à l'aide des bibliothèques Python simples de Jetson Nano et du matériel de
fabricant populaire.
Il s'agit d'un kit AI Robot basé sur le kit de développement Jetson Nano. Prend en
charge la reconnaissance faciale, le suivi des objets, le suivi automatique des lignes
ou l'évitement des collisions, etc.

Caractéristiques
 Structure mécanique robuste
 Caméra IMX219 8MP
 Wi-Fi Intel double bande sans fil Ac 8265 W/Bt
 Antenne bi-fréquence
Applications
 Voiture intelligente
 Projet de vision industrielle

35
2) L’ordinateur NVIDIA Jetson Nano
JETSON NANO DEV KIT fabriqué par Waveshare, basé sur les ordinateurs AI Jetson
Nano et Jetson Xavier NX, fournissant presque les mêmes IO, taille et épaisseur que
le kit de développement Jetson Nano (B01), plus pratique pour mettre à niveau le
module principal. En utilisant la puissance du module central, il est qualifié pour des
domaines tels que la classification d'images, la détection d'objets, la segmentation, le
traitement de la parole, etc., et peut être utilisé dans toutes sortes de projets d'IA.

Figure 22: L'ordinateur NVIDIA Jetson Nano

1. Prise du module central


2. Connecteur M.2 Clé E
3. Broches PoE : le module PoE n'est pas inclus
4. En-tête GPIO 40PIN
5. Port micro USB : pour entrer d'alimentation 5V ou pour transmission de données
USB
6. Port Ethernet Gigabit : négociation automatique 10/100/1000Base-T, prend en
charge PoE si un module PoE externe est connecté
7. 4 ports USB 3.0
8. Port de sortie HDMI
9. Connecteur Display Port
10. Prise CC : pour entrer d'alimentation 5 V
11. 2x connecteur de caméra MIPI CSI

36
37
Conclusion

Dans le premier chapitre, nous avons vu comment nous


avons mené une étude fonctionnelle sur nos robots
mobiles, à travers une analyse détaillée des différentes
fonctions que notre robot doit remplir, jusqu'à ce que nous
arrivions enfin à une conception claire et propre de nos
robots. Nous passons maintenant au deuxième chapitre et
nous verrons la phase de mise en œuvre de notre tâche
par exemple concepteur Thymio, accélération Thymio,
faire des sons avec des capteurs thymio, changer de
couleur et parler "Ozoot Evo" et d'autres tâches. Enfin,
comment nous avons utilisé le logiciel de programmation
pour chaque robot.

38
Chapitre 2: Mise en œuvre et application

Introduction

Ce chapitre présente les tâches effectuées par trois robots : Thymio,


Ozobot Evo et « seeedstudio jet bot smart car Kit ». D'une part, nous
montrerons comment nous avons utilisé les logiciels de programmation et
différents types de programmation. Par exemple, Ozoblockly pour le robot
ozobot Evo, thymio suite pour le robot thymio et l'application quand a utilisé
pour gérer le robot ozobot Evo à distance, etc. d'autre part, nous allons
montrer Étape par étape comment assembler un robot nommé « sed
studio jet bot smart car kit ».

39
I. Les missions réalisées avec le robot Thymio:
1) Suivi une ligne avec des sons
Le principe est de faire suivre à Thymio une piste au sol avec un seul des deux
capteurs, et utiliser l'autre capteur pour lire une information (une note musicale). La
note musicale est faite en fonction de combien foncé est le dessin. Mais attention, la
mesure se fait en infrarouge, donc "foncée" peut-être différent de ce qu'on voit. Ceci
donne une sorte d'effet imprévisible à ce qu'on dessine.

Figure 23: code pour suivre une ligne avec des sons

Les deux blocs de code pour les boutons permettent de lancer ou stopper le robot
avec les boutons "avant" et le bouton du centre.

2) Thymio dessinateur
Le robot Thymio II dispose d'un trou central qui permet de placer un feutre, par
exemple, pour faire des dessins. Il y a différents moyens de décider quoi dessiner.
Une façon simple est de télécommander le robot (par la télécommande ou le
clappement de main) pour lui faire dessiner ce que vous désirez. L'autre façon est
de le programmer. Dans ce rapport on présente quelques exemples de programmes
avec les dessins correspondants.

40
41
Figure 24: les programme de dessins

Exemple de programme de ces dessins ci-dessus :


var itera = 0
timer.period[0] = 1000 (1000ms = 1s)

onevent timer0
itera = itera + 1
if itera==1 then
motor.left.target = 100
motor.right.target = 90
end
if itera==4 then
motor.left.target = -100
motor.right.target = -70
end
if itera==7 then
itera = 0
end

Figure 25: programme de dessin d'étoile qui est en dessu

42
Timer (minuterie)

Thymio fournit deux timers défini par l'utilisateur. Un tableau de 2


valeurs, timer.period, permet de spécifier la période des timers :
 Timer.period [0] : période du timer 0 en milliseconde
 Timer.period [1] : période du timer 1 en milliseconde
Lorsque le délai expire, le timer génère un événement timer0 respectivement timer1.

événement description Fréquence(Hz) code

Le PID moteur est


motor 100 motor.left/right.traget
exécuté

3) Accélération de Thymio
Ce programme nous avons utilisé le mode d'édition avancé, ce mode
Fournis des fonctionnalités additionnelles.
Les blocs utilisés: capteurs de distance au sol, État, couleur du haut, moteurs.

Figure 26: programme d'accélération de Thymio

4) Initiation au mémoire
Aussi dans ce programme nous avons utilisé le mode d'édition avancé.
Les blocs utilisés: capteurs de distance au sol, État, couleur du haut, moteurs.

Figure 27: Programme d'initiation au mémoire

43
5) Thymio émet des sons avec les capteurs

Figure 28: Programme pour émet des sons

Aussi dans ce programme nous avons utilisé le mode d'édition avancé.


Les blocs utilisés: boutons, capteurs de distance horizontales, musique, couleur du
haut, couleur du bas.
D'autres programmes :

Figure 30: Programme pour répéter les sonsenregistrés Figure 29: suivi une ligne noire

Figure 31: sons de pompiers

II. Les missions réalisées avec le robot Ozobot Evo:

Ozobot-bit est utilisable de deux façons :


 en mode suiveur de ligne : dans ce mode, il se contente de suivre des lignes
(imprimée ou tracée au feutre à pointe large).
 en mode programmation : il faut alors utiliser le logiciel en ligne Ozoblockly.

44
1) En mode suiveur de ligne
Ozobot Evo peut se déplacer sur l’écran d’une tablette tactile, mais aussi sur une
simple feuille blanche sur laquelle des lignes aux crayons feutres ont été dessinées.
Il réagit également aux couleurs qu'il croise sur son chemin. En utilisant certains codes
de couleurs qui correspondent à son langage, il est donc possible de lui faire réaliser
différentes actions (mouvements de base, rotation, accélération, clignotements
variés...).
Quelques exemples de programmation avec des codes de couleur :

Figure 33: suivi une ligne avec changement de vitesse Figure 32: Guider Ozobot Evo

Figure 34: Tracer un code pou Ozobot

45
2) En mode programmation

La programmation de robot Ozobot Evo se fait sous forme de bloc via OzoBlockly une
interface en ligne basé sur Blockly (une librairie développée par Google pour
rapprocher les jeunes à la programmation, semblable à Scratch), pour ordinateurs ou
tablettes.

Figure 35 : L'interface Ozolockly

a) Exemple de programme carrée


Le programme pour désigner un carré: On voit qu'il se répète 4 fois. Tant que le feu
est vert, il avance de 4 pas à vitesse moyenne. Ensuite, pendant que le feu est rouge,
il tourne à droite.
Ceci est un excellent exemple de la façon dont la répétition N fois diminue le nombre
de commandes nécessaires pour accomplir une tâche.

Le code utilisé est le suivant:

Figure 36: Carrée

46
On a utilisé dans ce programme le 2ème niveau de l’interface en ligne ozoblockly.
Blocs utilisés :
Mouvement, boucles, effets de lumière.
Ozobot Evo trace une forme carrée et fait briller une lumière verte en se déplaçant tout
droit et une lumière rouge en tournant à droite.

b) Exemple de programme de tour de Victoire


Dans l’exemple de tour de victoire il a une variété de mouvements et d'effets
d'éclairage. Il y a une répétition pour toujours, donc ça va garder courir jusqu'à ce que
nous éteignions le robot.
Il y a aussi une petite section qui se répète 2 fois et qui contient quelques mouvements.
Il y a des lumières discos amusantes et des mouvements de cercle et de rotation.

Le code utilisé est le suivant:

Figure 37: Tour de Victoire

Blocs utilisés :
Mouvement, effets de lumière, boucles
Pour résumé Ozobot Evo fait maintenant un tour de victoire, saluant les fans et
célébrant en cours de route.

c) Exemple de Programme vertigineux


Nous voyons qu'il y a une section qui est répétée 5 fois. Il y a beaucoup de rotations
en rond dedans.
Ceci est un bon exemple de la façon dont une routine de danse peut-être créée en
utilisant la répétition boucle. Il y a aussi beaucoup de tours avant et après la section
répétée. Ils appellent celui-ci Dizzy.
Blocs utilisés :
Mouvement, effets de lumière, synchronisation, boucles
Ozobot tourne en rond - devient trop étourdi à la fin pour continuer.

47
Le code utilisé est le suivant:

Figure 38: Ozobot vertigineux

d) Programme pour éviter le rouge


Ce programme est un mélange entre la programmation par bloc et la programmation
en mode suiveur de ligne. On a écrit un programme spécifique pour la carte ci-
dessous(Figure) et l'objectif de ce programme est d'éviter la couleur rouge.
Il y a une répétition pour toujours, donc ça va garder courir jusqu'à ce que nous
éteignions le robot
Le code utilisé est le suivant:

Figure 39: Ozobot éviter le rouge

On a utilisé dans ce programme le 3ème niveau de l’interface en ligne Ozoblockly.

La carte spécifique pour ce programme est la suivante :

48
Figure 40: la carte pour le code éviter le rouge

Nous avons fait un autre programme de la même manière que le programme


précédent, mais le but de ce programme est de clignoter en vert lorsqu'il est sur la
ligne(suivre la ligne jusqu'à la prochaine interaction ou fin de ligne) , lorsqu' ne l'est
pas il fait une saute et clignoter en rouge jusqu'à ce que la ligne soit trouvée , puis
suivez la ligne Enfin, Quand Ozobot rencontre une fin de ligne, il "saute" et attrape une
ligne devant. Après avoir effectué 4 sauts, Ozobot s'arrête.
Terminer le programme et passer en mode veille.

Le code utilisé est le suivant:

Figure 41: Ozobot "saute"

La carte qu'on a choisie pour ce travail :

49
Figure 42: La carte du code

Blocs utilisés :
Mouvement, Navigation par ligne, Effets de lumière, Boucles, Logique,
Mathématiques, Variables

e) Programme de dance avec Ozobot Evo


Dans le programme de danse on a utilisé plusieurs blocs à savoir: Mouvement, Boucles, Lumières, Sons.
Ce programme ci-dessous est le résultat d'un mélange de différents blocs.

Figure 43: Dance avec Ozobot Evo

f) Programme d’animation couleur


Le but de ce programme est le suivant : Lorsque Ozobot Evo stationnaire, il exécute
une boucle continue d'animations de couleur LED. Pour réaliser ce programme nous
avons utilisé différents blocs à savoir : Boucles, effets lumineux, synchronisation.
Le code utilisé est le suivant:

50
Figure 44: d’animation couleur

Il y a aussi 3 petites sections qui se répète (1ère :3 fois, 2ème :5 fois, 3ème :4 fois) et
qui contient : effets lumineux et synchronisation.
On a utilisé dans ce programme le 4ème niveau de l’interface en ligne Ozoblockly.

g) Programme de changer de couleur et parler


Les blocs utilisés dans ce programme : Boucles, effets lumineux, synchronisation,
Mouvement, Variables.

51
Figure 45: changer de couleur et parler

Lorsque vous exécutez ce long programme, le robot Ozobot Evo parle (il dit les noms
de couleur et des nombres), clignote avec des couleurs. Ce programme est répété une
fois et finalement le robot fait un tour sur lui et s'éteint.

3) Conduit Ozobot Evo avec l'application

Ozobot Evo est un robot miniature avec des lumières, du son, des capteurs et des
roues. Il est conçu pour apprendre à coder. Evo peut être contrôlé avec un joystick (in-
app) ou programmé avec OzoBlockly. Comme son prédécesseur, Evo peut être
programmé sans l'application mobile.

Avec l'application, vous pouvez également conduire Evo avec le mode Drive, jouer à
des jeux interactifs et gagner des points d'expérience pour débloquer des
fonctionnalités supplémentaires. Vous pouvez contrôler plusieurs Evos simultanément
depuis l'application, mais un seul utilisateur peut être connecté à un robot individuel à
la fois. Les utilisateurs ont besoin d'un compte Evo pour accéder à toutes les
fonctionnalités de l'application. Là C'est également une fonctionnalité sociale vous
permettant de vous connecter et de discuter avec des amis.

52
Figure 46: L'application Evo par Ozobot

Connecter l'application avec votre Evo à l'aide de la technologie Bluetooth.

III. Les tâches réalisées avec le robot seeedstudio jetbot smart car
kit:
1) Assemblage du kit d'IA JetBot
Notre première tâche que nous avons réalisée est la construction du JetBot smart car
kit. Le kit Jetbot contient le matériel suivant :

Figure 47: Jetbot contient le matériel suivant


Assemblée
 Commencez par fixer les languettes de montage du moteur du châssis à
chacun des "moteurs du châssis fantôme (paire)" à l'aide des vis à métaux et
des écrous longs filetés inclus avec le kit de châssis de Circuler Robotiques.

53
Figure 48: moteur

Figure 49: fixez chaque moteur

Insérez chaque moteur dans le châssis et fixez chaque moteur avec 2x vis
M3x25mm.

 Installez les roues en caoutchouc sur les moyeux, installez la roue sur
chaque moteur et fixez-les en position à l'aide des vis auto taraudeuses
fournies avec le kit.
 Assemblez les antennes, l'antenne était connectée à la carte sans fil par
défaut. Traversez l'antenne à travers le grand trou rond, puis assemblez.

Figure 50: Assemblez les antennes

54
 Montez le support de la caméra sur la boîte métallique, fixez la caméra sur le
support, n'oubliez pas le panneau acrylique.
- Fixez la caméra au support de caméra à l'aide de 4 vis auto taraudeuses
- Fixez le support de caméra au châssis avec 4x vis auto taraudeuses
- Insérez l'autre extrémité du câble ruban dans le kit de développement
Jetson Nano
- Placez le câble ruban contre le dissipateur de chaleur pour organiser

Figure 51: Montez la caméra

JetBot utilise Raspberry Pi Camera V2, vous pouvez connecter la caméra à


Jetson Nano en suivant
Les instructions ci-dessous :
Étape 1. Insérez le câble FPC dans la caméra (côté bleu face à la caméra).
Étape 2. Passez le câble FPC à travers le corps du Jetbot et atteignez l'autre
extrémité de Jetson Nano.
Étape 3. Insérez le câble FPC dans le Jetson Nano (côté bleu face au Jetson
Nano).

 Placez les entretoises sur la boîte métallique pour assembler la carte


d'extension JetBot.

Figure 52: Les entretoises sur la boîte métallique

55
Définissez des entretoises sur la carte d'extension jetbot pour assembler le kit de
développement jetson nano.

 Dévissez les vis des roues omnidirectionnelles, puis fixez les roues au panneau
inférieur en métal.

Figure 53: Fixez les roues

 Assembler la boîte en métal.

Figure 54: Assembler la boîte en métal

 fixez la planche Jetson Nano.

56
Figure 55: Fixez la planche Jetson Nano

 Sortez la carte nano jetson et assemblez le Wireless-AC 8265.

Figure 56: Assemblez le Wireless-AC 8265

1. Fixez le kit de développement au châssis à l'aide de vis auto taraudeuses.


2. Enclenchez les antennes sur le module WiFi à l'aide des doigts.
3. Retirez la vis du kit de développement près de la prise M.2.
4. Insérez le module WiFi dans l'emplacement M.2 du kit de développement.
5. Fixez le module WiFi au kit de développement avec la vis retirée en (3).
6. Rattachez le module Jetson Nano au kit de développement.

57
Figure 57: Fixez le module WiFi

 Monter la batterie

Figure 58: Monter la batterie

Maintenez la batterie en place, retournez le robot et fixez la batterie au châssis.


(Nous n'avons pas fait ce travail car nous n'avons pas de batterie).

Une fois terminé, votre JetBot devrait ressembler à ceci.

Figure 59: Robot JetBot

 Le câblage :

- OLED vers Jetson Nano


Nous utilisons un OLED de 0,91 pouce pour afficher l'adresse IP et d'autres
informations, pour assembler cet écran, vous devez d'abord assembler un tableau
d'affichage adaptateur sur le Jetson Nano Header.

58
Étape 1. Branchez le panneau d'affichage dans l'en-tête 20x2 de Jetson Nano.
Étape 2. Branchez l'OLED de 0,91 pouce dans ce tableau d'affichage.

Figure 60: Branchez l'OLED

- Le câblage du moteur
Le câblage du moteur à courant continu est simple, il suffit de câbler comme l'image
suivante, le fil noir est connecté à la borne intérieure correspondante, le fil rouge du
moteur gauche est connecté à la borne la plus à gauche, et le fil rouge du moteur droit
est connecté à la borne la plus à droite.

Figure 61: Le câblage du moteur

- Carte de pilote de moteur vers Jetson Nano


En tant qu'écran OLED, nous connectons la carte de commande de moteur à Jetson
Nano via le tableau d'affichage. Nous ont étiqueté les broches de Motor driver Board
et Jetson Nano. Il vous suffit de connecter les broches avec le même numéro à travers
les cavaliers.

59
Figure 62: Le câblage complet

2) Configuration du logiciel
La configuration de JetBot ce fait de deux manières soit avec l’utilisation de
l’image de la carte SD ou l’utilisation du conteneur Docker. Nous avons essayé
de configurer JetBot à l’aide de cartes SD JetBot prédéfinie.
Étape 1 - Téléchargez l'image de carte SD JetBot préconstruite
Téléchargez l'image de la carte SD JetBot prédéfinie à partir du tableau ci-
dessous. Assurez-vous de sélectionner la version qui correspond au Jetson que vous
utilisez
Plateforme Version Jet Pack Version JetBot Télécharger
Jetson Nano 2 Go 4.5 0.4.3 jetbot-043_nano-
2gb-jp45.zip
Jetson Nano (4 4.5 0.4.3 jetbot-043_nano-
Go) 4gb-jp45.zip

Étape 2 - Flashez l'image JetBot sur la carte SD


1. Insérez une carte SD dans votre ordinateur de bureau
2. À l'aide d'Etcher , sélectionnez l'image que vous avez téléchargée ci-dessus et
flashez-la sur la carte SD.
3. Retirez la carte SD de votre ordinateur de bureau
Étape 3 - Démarrez Jetson Nano
1. Insérez la carte SD dans votre Jetson Nano (la fente pour carte micro SD est
située sous le module)
2. Connectez le moniteur, le clavier et la souris au Nano

60
3. Allumez le Jetson Nano en connectant le chargeur micro USB (pour Jetson Nano
(4 Go)) ou USB-C (pour Jetson Nano 2 Go) au port
Étape 4 - Connectez JetBot au Wi-Fi

Ensuite, vous devrez vous connecter au WiFi. Pour réduire la consommation de


mémoire, nous désactivons l'interface graphique Ubuntu dans la dernière image de
carte SD JetBot. Pour cette raison, vous devrez utiliser la ligne de commande pour
vous connecter au WiFi.

1. Connectez-vous en utilisant l'utilisateur jetbotet le mot de passejetbot


2. Connectez-vous à un réseau WiFi à l'aide de la commande suivante
3. sudo nmcli device wifi connect <SSID> password <PASSWORD>

Votre Jetson Nano devrait maintenant se connecter automatiquement au WiFi au


démarrage et afficher son adresse IP sur l'écran piOLED.

Étape 5 - Connectez-vous à JetBot à partir du navigateur Web

Une fois que votre robot est connecté au WiFi, vous n'avez plus besoin d'avoir le robot
connecté par un moniteur. Vous pouvez vous connecter au robot à partir du navigateur
Web de votre ordinateur portable en procédant comme suit

1. Arrêtez JetBot à l'aide de la ligne de commande sudo shutdown now


2. Débranchez votre moniteur HDMI, clavier USB, souris et alimentation de Jetson
Nano.
3. Alimentez le JetBot à partir de la batterie USB en branchant le câble micro-USB.
4. Attendez un peu que JetBot démarre.
5. Vérifiez l'adresse IP de votre robot sur l’écran d'affichage piOLED . Entrez ceci à
la place de <jetbot_ip_address>dans la commande suivante.
6. Accédez à http://<jetbot_ip_address>:8888depuis le navigateur Web de votre
bureau. Vous pouvez le faire à partir de n'importe quelle machine de votre réseau
local.
7. Connectez-vous en utilisant le mot de passe jetbot.

Vous serez présenté avec une vue similaire à la suivante.

61
Figure 63:Démarrez Jetson Nano

Maintenant que vous avez terminé de configurer votre JetBot, vous êtes prêt à
exécuter les programmes pour faire des missions.

Noter

Nous n'avons pas réussi à terminer cette mission à cause d'un


manque de matériel.

a) JetBot Suivi d'objet


Dans cet exemple, JetBot suivra un objet à l'aide d'un modèle préformé capable de détecter
des objets courants tels que Personne, verre d'eau et d’autres.
1. Téléchargez le modèle de détection d'objets selon le tableau ci-dessous
2.

Version de la carte SD JetBot Modèle


v0.3 ssd_mobilenet_v2_coco.engine
v0.4 (dernière) ssd_mobilenet_v2_coco.engine
3. Connectez-vous à votre robot en naviguant vers http://<jetbot_ip_address>:8888
4. Arrêtez tous les autres ordinateurs portables en cours d'exécution en
sélectionnant Kernel->Shutdown All Kernels...
5. Aller vers~/Notebooks/object_following/
6. Téléchargez le modèle préformé ssd_mobilenet_v2_coco.engine dans ce dossier

62
7. Ouvrir et suivre le live_demo.ipynbcahier

Figure 64:Ouvrir et suivre le live_demo

3) Les diagrammes
a) Diagramme de cas d’utilisation

Figure 65: Diagramme de cas d'utilisation

Ce diagramme montre quelques-unes des missions de l'Ozobot Evo et Tymio.

63
b) Diagramme de définition de bloc « Thymio »

Figure 66: BDD de Thymio

Ce diagramme schématique montre les composants du robot Thymio.

c) Diagramme de définition de bloc « Ozobot »

Figure 67: BDD Ozobot Evo

Ce diagramme schématique montre les composants du robot Ozobot Evo.

64
Conclusion

Dans ce dernier chapitre, nous avons vu les différentes


tâches que nous faisions avec les trois robots, ainsi que
celles que nous voulions faire, mais la faute de matériel
nous ne l'avons pas fait. Passons maintenant à la
conclusion générale et à la perspective pour compléter ce
travail.

65
Conclusion Générale et perspectives

En conclusion, lors de la préparation du projet de fin d'études, nous avons essayé


d'appliquer les connaissances acquises lors de nos études universitaires mais aussi
développé de nouvelles dans le domaine de la robotique .D’une part de manière
autodidacte, et d’autre part grâce à l’aide apportée par nos encadrant, dans le but de
la mise en œuvre les trois robots Thymio, Ozobot Evo et « Seedstudio jetbot smart
car ».
Nous avons vu au travers de notre étude qu'il existe des critères de base qui
caractérisent les trois robots par exemple : leur temps de réaction à chaque obstacle
qu'ils rencontrent « Thymio et Ozobot ». Cette capacité dépend évidemment d'autres
facteurs tels que la ténacité et la persistance du robot. Cependant, assurer cette
capacité nécessite une bonne maîtrise de la programmation.
Ce projet s'est réalisé en plusieurs étapes, dont chacune nécessitait de se familiariser
avec un univers complexe et vaste. La première étape que nous avons faite est de
mener une étude fonctionnelle sur nos robots mobiles, en commençant par une
analyse détaillée des différentes fonctions que notre robot doit remplir, jusqu'à ce que
nous arrivions enfin à une compréhension claire de nos robots. Après cette étape,
nous avons commencé par de petites tâches avec les robots « Thymio et Ozobot
Evo », puis nous avons continué des études pour des tâches plus complexes, pour
répondre à notre problématique qui est la suivante « Comment programmer un robot
mobile pour effectuer les tâches que nous voulons? ».
Nous avons réussi à résoudre cette problématique et à prouver que nous avons mis
en place plusieurs programmes, parmi lesquels nous avons mis en place :
- Pour le robot « Thymio » : suivi une ligne avec des sons, Thymio dessinateur,
accélération de Thymio, initiation au mémoire, Thymio émet des sons avec les
capteurs, etc.
- Pour le robot « Ozobot Evo » : des programmes en mode suiveur de ligne,
dessiner un carré, tour de victoire, Ozobot Evo vertigineux, éviter le rouge,
changer de couleur et parler et conduite Ozobot avec l’application.
- Pour le robot « Seedstudio jetbot smart car » : assemblage du kit d’AI JetBot.
Concernant le "Jet bot", nous avons essayé plusieurs façons d'implémenter la tâche
de suivi un trajet. Mais nous n'avons pas réussi par manque de matériel.
Comme perspective, nous souhaitons pour les prochains projets de fin d’étude
d’élargir notre travail sur les robots, et plus particulièrement le robot "jetbot" lorsque
le matériel sera disponible. Il sera facile de réaliser la tache de suivi un trajet.

66
Références

https://www.robot-advance.com/art-thymio-1194.htm
https://www.thymio.org/products/programming-with-thymio-suite/program-thymio-
aseba/
http://wiki.thymio.org/fr:thymioapi
https://play.inaf.it/fr/on-programme-ozobot/
http://www.acanthoceras.fr/ozobot/
https://ozobot.com/create/color-codes
https://ozoblockly.com/editor?lang=en&robot=evo&mode=5
https://play.google.com/store/apps/details?id=org.mobsya.ThymioSuite
https://atelier-canope-
19.canoprof.fr/eleve/Formation%20initiale%20et%20continue/Robotique/Decouverte_
thymio/activities/presentation_thymio.xhtml
http://wiki.thymio.org/fr:thymioexplorer
http://wiki.thymio.org/fr:thymio
http://sti.ac-bordeaux.fr/techno/coder/thymio/rglage_des_capteurs.html
https://www.my-etechno.com/ozobot/344-ozobot-evo-blanc-cristal.html
https://prim61.discip.ac-caen.fr/Ozobot-814
https://www.waveshare.com/wiki/JetBot_AI_Kit
https://github.com/NVIDIA-AI-IOT/jetbot/wiki/examples
https://www.waveshare.com/wiki/JETSON-NANO-DEV-KIT
https://www.manualslib.com/manual/2068883/Seeed-Jetbot-Smart-
Car.html?page=5#manual

67
Annexe

Code1 :Thymio suivi un ligne avec des sons


var running = 0
var counter = 0
var intensityDiff
var freq

var black
var white
timer.period[0] = 50

call leds.prox.v(0,0)

onevent button.forward
if button.forward == 1 then
running = 1
call leds.temperature(0, 0)
white=0
black=1000
end

onevent button.center
if button.center == 1 then
running = 0
motor.left.target = 0
motor.right.target = 0
end

onevent prox
if running == 1 then
if prox.ground.delta[0]> white then
white=prox.ground.delta[0]
end
if prox.ground.delta[0]< black then
black=prox.ground.delta[0]
end
intensityDiff = prox.ground.delta[1]-525
if abs(intensityDiff) < 170 then
motor.left.target = 115+intensityDiff/8
motor.right.target = 115-intensityDiff/8
else
motor.left.target = intensityDiff/4
motor.right.target = -intensityDiff/4
end

if prox.ground.delta[0]<(white-50) then
call math.muldiv(freq, prox.ground.delta[0] - black, 200,
white-black)
call sound.freq(freq+200, 0)
else
call sound.freq(freq+200, -1)
end

end

68
Code2 : Thymio émet des sons avec les capteurs
onevent prox
if acc[1]>0 then
if prox.horizontal[0]>4000 then
call sound.play(1)
call leds.top(32, 32, 32)
end
if prox.horizontal[1]>4000 then
call sound.play(2)
call leds.top(32, 0, 0)
end
if prox.horizontal[2]>4000 then
call sound.play(3)
call leds.top(0, 32, 0)
end
if prox.horizontal[3]>4000 then
call sound.play(4)
call leds.top(0, 0, 32)
end
else
if prox.horizontal[0]>4000 then
call sound.play(6)
call leds.top(32, 32, 32)
end
if prox.horizontal[1]>4000 then
call sound.play(7)
call leds.top(32, 0, 0)
end
if prox.horizontal[2]>4000 then
call sound.play(8)
call leds.top(0, 32, 0)
end
if prox.horizontal[3]>4000 then
call sound.play(9)
call leds.top(0, 0, 32)
end

end

Code3 : Dessin 1
var itera = 0
timer.period[0] = 1000 # 1000ms = 1s

onevent timer0
itera = itera + 1
if itera==1 then
motor.left.target = 230
motor.right.target = -120
end
if itera==4 then
motor.left.target = 80
motor.right.target = 80
end
if itera==7 then
itera = 0
end

69
Code 4 : Dessin 2
var itera = 0
timer.period[0] = 1000 # 1000ms = 1s

onevent timer0
itera = itera + 1
if itera==1 then
motor.left.target = 100
motor.right.target = 90
end
if itera==4 then
motor.left.target = -100
motor.right.target = -70
end
if itera==7 then
itera = 0
end

Code5 : Dessin 3

var itera = 0
var speed = 30
timer.period[0] = 1000 # 1000ms = 1s

onevent timer0
itera = itera + 1
if itera==1 then
motor.left.target = 230
motor.right.target = -140
end
if itera==4 then
motor.left.target = speed
motor.right.target = speed
speed = speed + 2
end
if itera==7 then
itera = 0
end

Code6 : Dessinn 4

var itera = 0
var speed = 20
timer.period[0] = 1000 # 1000ms = 1s

onevent timer0
itera = itera + 1
if itera==1 then
motor.left.target = 140
motor.right.target = -140
end
if itera==4 then
motor.left.target = speed
motor.right.target = speed
speed = speed + 2
end
if itera==7 then
itera = 0

70
end

Code 7 : Dessin 5
var itera = 0
var speed = 256
timer.period[0] = 1000 # 1000ms = 1s

onevent timer0
itera = itera + 1
if itera==1 then
motor.left.target = speed
motor.right.target = speed
end
if itera==4 then
motor.left.target = -speed
motor.right.target = -speed
end
if itera==6 then
motor.left.target = -40
motor.right.target = 40
speed = speed - (speed / 10)
end
if itera==7 then
itera = 0
end

Code 8 : Dessin 6
var parti # parti ou pas
timer.period[0]=100 # 100ms
call leds.top(0, 0, 32) # bleu

onevent button.forward #départ


parti=1
motor.left.target = -200
motor.right.target = 200
call leds.top(0, 32, 0)

onevent button.backward # stop


parti=0
call leds.top(32, 0, 0)
motor.left.target = 0
motor.right.target = 0

onevent timer0 #toutes les 100ms = 0.1s


if parti ==1 then
motor.left.target = motor.left.target+1
motor.right.target = motor.right.target+1
end

71

Vous aimerez peut-être aussi