Drum Player, un simulateur pour tester des mécanismes d'apprentissage séquentiels
Description :
Le Drum Player est un bras robotique doté de deux degrés de liberté, et d'un capteur de contact au bout de son bras pour détecter les tambours. Le robot est configuré pour pouvoir jouer sept notes, et détecter si la note a bien été jouée. Lorsque le bras tappe sur un tambour, un son, issu du répertoire
sound
, est joué. Il est bien sûr possible de remplacer les notes jouées par d'autres sons, en remplaçant les fichiers sons du répertoire sound
.
Le simulateur échange avec un système décisionnel externe par le biais de deux fichiers texte. Cette solution, outre sa simplicité, facilite le portage sur différents systèmes d'exploitation ainsi que l'utilisation d'autres langages de programmation. Le cycle de décision débute avec le mécanisme décisionnel, qui écrit le symbole d'une interaction dans le fichier
intention.txt
, puis se met en attente tant que le fichier enacted.txt
est vide. Le simulateur attend jusqu'à ce que le fichier intention.txt
ne soit plus vide, puis, lorsque c'est le cas, lit le symbole, efface le fichier, puis effectue l'interaction. À la fin de l'interaction, le simulateur écrit le symbole de l'intéraction énactée dans le fichier enacted.txt
. Le système décisionnel peut alors lire ce symbole, puis, après avoir effacé ce dernier, intègre le résulat de son intention.
Le simulateur propose un système interactionnel composé de 14 interactions, chacune étant identifiée par un numéro :
id | do | ré | mi | fa | sol | la | si |
reussi | 0 | 2 | 4 | 6 | 8 | 10 | 12 |
raté | 1 | 3 | 5 | 7 | 9 | 11 | 13 |
Ressources :
- drum_player.zip : archive contenant le fichier Blender du simulateur, les fichiers d'échange, les notes à jouer au format mp3, ainsi que deux scripts Python (test_random.py et test_gamme.py) permettant de tester le simulateur. Nécessite Blender 2.69 ou supérieur.
Utilisation
Pour installer le simulateur, il suffit de décompresser l'archive dans un répertoire quelconque, puis d'ouvrir le fichier
drum_player.blend
avec Blender. La simulation se lance en appuyant sur la touche 'P', et se termine en appuyant sur 'Echap'. Une fois lancé, le simulateur attend une commande dans le ficher intended.txt
. Il est possible de tester le bon fonctionnement du simulateur avec les fichier test_random.py
et test_gamme.py
, en exécutant la commande python test_random.py
ou python test_gamme.py
depuis le répertoire Ernest_simulator
. Le premier joue des notes au hasard, le second joue les notes de la gamme dans l'ordre. Si le robot se met à bouger, le simulateur est pret.Commandes :
il est possible de contôler le bras, les tambours et la caméra pendant la simulation. Voici la liste des commandes :
Jouer des notes :
touches 'a', 'z', 'e', 'r', 'u', 'i', 'o' pour jouer les 7 notes
placer/retirer les tambours: touches 'q', 's', 'd', 'f', 'j', 'k', 'l'
contrôle de la caméra (pavé numérique):
translations
5 : avant
2 : arrière
1 : gauche
3 : droite
/ : haut
8 : bas
rotations
4 : gauche
6 : droite
* : haut
9 : bas
zoom : + et -