Comment apprendre à programmer un robot en 30 minutes? Atelier organisé par Tom Mens (en collaboration avec Pierre Zielinski, Gauvain Devillez et Sebastien Bonte) lors des Journées Math-Sciences du Printemps des Sciences 2022 à l'Université de Mons
Formation M2i - Comprendre les neurosciences pour développer son leadership
Comment programmer un robot en 30 minutes?
1. Comment programmer un robot en 30 minutes?
Sciences Informatiques
Faculté des Sciences
Université de Mons
24-25 mars 2022
2. Introduction Le langage Blockly Sortir d’un labyrinthe Programmer un robot Questions
Contact
Courriel
secretariat.FS@umons.ac.be
informatique@umons.ac.be
Sites web
Université de Mons
https://web.umons.ac.be/fr/
Département d’informatique
http://informatique.umons.ac.be
Enseignement en sciences informatiques
http://informatique.umons.ac.be/index.php?p=teaching
https://web.umons.ac.be/fr/formations/
Sciences Informatiques UMONS Comment programmer un robot en 30 minutes? 24-25 mars 2022 2 / 24
3. Introduction Le langage Blockly Sortir d’un labyrinthe Programmer un robot Questions
Objectif
Dans cet atelier nous allons :
apprendre un robot à sortir d’un labyrinthe de manière autonome
https://youtu.be/_tKUm0VoYI4
Sciences Informatiques UMONS Comment programmer un robot en 30 minutes? 24-25 mars 2022 3 / 24
4. Introduction Le langage Blockly Sortir d’un labyrinthe Programmer un robot Questions
Objectif
Dans cet atelier nous allons :
Apprendre un robot à sortir d’un labyrinthe de manière autonome
à l’aide du langage de programmation Blockly
https://blockly.games
sur base d’un algorithme (une sorte de recette) permettant de
trouver son chemin dans un labyrinthe
Sciences Informatiques UMONS Comment programmer un robot en 30 minutes? 24-25 mars 2022 4 / 24
5. Introduction Le langage Blockly Sortir d’un labyrinthe Programmer un robot Questions
Blockly est un langage de programmation visuel :
plus simple à comprendre
composé de briques représentant les éléments principaux
permettant de construire un programme exécutable
un alternatif visuel à des langages de programmation
textuels (par exemple, Java, Python, JavaScript, . . . )
Sciences Informatiques UMONS Comment programmer un robot en 30 minutes? 24-25 mars 2022 5 / 24
6. Introduction Le langage Blockly Sortir d’un labyrinthe Programmer un robot Questions
Le langage de programmation Blockly
Un programme est composé de blocs rattachés comme un puzzle.
Cet ensemble de blocs correspond aux instructions que le programme
va exécuter.
Les instructions seront interprétées et exécutées par le programme
de haut en bas.
Sciences Informatiques UMONS Comment programmer un robot en 30 minutes? 24-25 mars 2022 6 / 24
7. Introduction Le langage Blockly Sortir d’un labyrinthe Programmer un robot Questions
Exemple
Un astronaute doit trouver son chemin dans une station spatiale
vers le sas où se trouve ses outils
Sciences Informatiques UMONS Comment programmer un robot en 30 minutes? 24-25 mars 2022 7 / 24
8. Introduction Le langage Blockly Sortir d’un labyrinthe Programmer un robot Questions
Exemple
Pour ce faire, l’astronaute peut e↵ectuer les actions suivantes :
avancer
tourner à gauche (sur lui-même à 90 )
tourner à droite (sur lui-même à 90 )
Ces actions seront exécutées par l’astronaute
grâce aux blocs d’instructions suivants :
Sciences Informatiques UMONS Comment programmer un robot en 30 minutes? 24-25 mars 2022 8 / 24
9. Introduction Le langage Blockly Sortir d’un labyrinthe Programmer un robot Questions
Comment peut-on éviter de devoir écrire plusieurs fois la même
instruction ?
Grâce aux boucles !
Une boucle répétera une ou plusieurs actions tant que la condition de la
boucle est respectée
Sciences Informatiques UMONS Comment programmer un robot en 30 minutes? 24-25 mars 2022 9 / 24
10. Introduction Le langage Blockly Sortir d’un labyrinthe Programmer un robot Questions
On peut utiliser des conditions pour que le programme
prenne une décision selon la situation rencontrée.
Sciences Informatiques UMONS Comment programmer un robot en 30 minutes? 24-25 mars 2022 10 / 24
11. Introduction Le langage Blockly Sortir d’un labyrinthe Programmer un robot Questions
Le programme exécutera les instructions (les blocs) de haut en bas.
S’il tombe sur une condition, il évaluera la réponse :
Si la condition est vérifiée, une certaine suite d’instructions sera
exécutée
Sinon, une autre suite d’instructions sera exécutée
Sciences Informatiques UMONS Comment programmer un robot en 30 minutes? 24-25 mars 2022 11 / 24
12. Introduction Le langage Blockly Sortir d’un labyrinthe Programmer un robot Questions
Considérez le plan d’une station spatiale comme un labyrinthe.
Quel algorithme peut être utilisé par l’astronaute pour trouver son
chemin, s’il ne connaı̂t pas le plan de la station ?
Sciences Informatiques UMONS Comment programmer un robot en 30 minutes? 24-25 mars 2022 12 / 24
13. Introduction Le langage Blockly Sortir d’un labyrinthe Programmer un robot Questions
L’algorithme de la main droite
Il suffit de garder sa main droite sur le mur situé à sa droite et le suivre.
Il faut tourner à droite si on ne touche plus le mur.
Sciences Informatiques UMONS Comment programmer un robot en 30 minutes? 24-25 mars 2022 13 / 24
14. Introduction Le langage Blockly Sortir d’un labyrinthe Programmer un robot Questions
Solution alternative
La technique peut aussi être utilisée avec la main gauche.
Sciences Informatiques UMONS Comment programmer un robot en 30 minutes? 24-25 mars 2022 14 / 24
15. Introduction Le langage Blockly Sortir d’un labyrinthe Programmer un robot Questions
Demo time !
https://blockly.games/maze?lang=fr&level=10&skin=1
Sciences Informatiques UMONS Comment programmer un robot en 30 minutes? 24-25 mars 2022 15 / 24
16. Introduction Le langage Blockly Sortir d’un labyrinthe Programmer un robot Questions
Qu’est-ce qu’un robot ?
Un robot c’est tout d’abord une base
Ensuite vient le processeur qui exécutera les instructions.
Sciences Informatiques UMONS Comment programmer un robot en 30 minutes? 24-25 mars 2022 16 / 24
17. Introduction Le langage Blockly Sortir d’un labyrinthe Programmer un robot Questions
De quoi un robot a besoin pour évoluer dans son environnement ?
Sciences Informatiques UMONS Comment programmer un robot en 30 minutes? 24-25 mars 2022 17 / 24
18. Introduction Le langage Blockly Sortir d’un labyrinthe Programmer un robot Questions
De quoi un robot a besoin pour évoluer dans son environnement ?
Sciences Informatiques UMONS Comment programmer un robot en 30 minutes? 24-25 mars 2022 18 / 24
19. Introduction Le langage Blockly Sortir d’un labyrinthe Programmer un robot Questions
Un robot peut apercevoir son environnement et l’état de ses composants
grâce aux capteurs. Ceux-ci comprennent :
Les caméras
Les capteurs de proximité
Les capteurs de contact
Les capteurs de température
...
Sciences Informatiques UMONS Comment programmer un robot en 30 minutes? 24-25 mars 2022 19 / 24
20. Introduction Le langage Blockly Sortir d’un labyrinthe Programmer un robot Questions
Un robot peut interagir avec son environnement grâce aux actuateurs.
Ceux-ci comprennent :
Les moteurs
Les bras robotiques
Les divers outils d’un robot
...
Sciences Informatiques UMONS Comment programmer un robot en 30 minutes? 24-25 mars 2022 20 / 24
21. Introduction Le langage Blockly Sortir d’un labyrinthe Programmer un robot Questions
Quels capteurs et actuateurs doit-on donner à un robot
pour qu’il puisse trouver son chemin dans le labyrinthe
grâce à l’algorithme de la main droite ?
Sciences Informatiques UMONS Comment programmer un robot en 30 minutes? 24-25 mars 2022 21 / 24
22. Introduction Le langage Blockly Sortir d’un labyrinthe Programmer un robot Questions
Demo time !
https://www.robotmesh.com/studio
Sciences Informatiques UMONS Comment programmer un robot en 30 minutes? 24-25 mars 2022 22 / 24
23. Introduction Le langage Blockly Sortir d’un labyrinthe Programmer un robot Questions
Sciences Informatiques UMONS Comment programmer un robot en 30 minutes? 24-25 mars 2022 23 / 24