CIPHER
Durant les salons, vous êtes nombreux à nous demander comment sont contrôlés nos robots. Nous avons donc décidé de vous en parler dans un article.
Pour contrôler nos robots, nous utilisons un logiciel qui a été entièrement développé par Ronan : CIPHER.
CIPHER ? Mais qu'est-ce que c'est?
CIPHER : Control Interface for Programmable Homemade Entertainment Robot (en Français : Interface de contrôle pour robot de divertissement programmable fait maison)
L'idée était au départ d'avoir un logiciel permettant de contrôler Hector à distance, à la fois pour les mouvements et pour la parole. Avec l'arrivée des autres robots, il a fallu faire en sorte que le logiciel soit adapté à tous les robots.
A quoi ça sert?
Le logiciel nous permet de :
- Faire bouger nos robots, en activant des relais et des servomoteurs
- Faire sortir du son de nos robots (venant du navigateur ou du serveur)
- Créer des séquences sous forme de graphes (et oui, quand on ne s'appelle pas Ronan c'est beaucoup plus simple de pouvoir utiliser des petits schémas)
- Faire parler nos robots (par la reconnaissance vocale et la synthèse vocale MaryTTS que vous pouvez tester en ligne sur le site http://mary.dfki.de/)
- Permettre à nos robots de reconnaître des objets
Et pour rendre le tout plus sympathique, le panneau de contrôle est personnalisable, pendant les salons chacun peut avoir une interface différente s'il le souhaite. On peut également ajouter différents plug-ins, c'est-à-dire des petites applications supplémentaires, pour rendre le tout encore plus adapté à chacun.
Et comment ça marche?
Pour faire fonctionner tout ça, il faut installer le logiciel CIPHER sur un Raspberry, c'est celui qui donner les ordres, on l'appellera le serveur. Ensuite, on installe un autre petit programme sur l'autre Raspberry qui recevra les ordres et renverra certaines informations au serveur, on l'appellera le client.
Notre ordinateur se connecte en WiFi sur le Raspberry qui fait office de serveur et nous pouvons ainsi lui transmettre nos ordres. Par exemple, lorsque nous appuyons sur le bouton suivant :
Le serveur va regarder si la lumière est déjà allumée (il nous l'affiche en continu avec une couleur verte pour une fonctionnalité active et rouge sinon), et va envoyer l'ordre adéquat au client. Il lui dira soit d'allumer, soit d'éteindre la lumière. On retrouvera le même fonctionnement pour chacun des boutons de l'interface du logiciel.
Si vous avez des questions, n'hésitez pas à nous contacter par mail ou sur les réseaux sociaux, Ronan se fera un plaisir d'y répondre !
Et pour les curieux, tout le code est disponible sur Github : https://github.com/valorun/CIPHER#cipher-control-interface-for-programmable-homemade-entertainment-robot