XD blog

blog page

arduino, coding goûter, ev3, lego, programmation, robot, scratch


2014-03-08 Programmer un robot Lego

J'ai acheté un robot Lego Mindstorms. Je me suis que si des enfants arrivent à le faire dans des coding goûters, je devrais bien y arriver aussi. Je suis donc allé dans un magasin Lego à Levallois pour dénicher l'objet (ici).

Je l'ai laissé mariner quelque temps afin de penser à aller acheter des piles (6 piles R6, 2 piles R03). Et j'ai commencé à monter l'engin, une occupation qui m'amuse beaucoup d'habitude, mais étant donné que j'étais plus intéressé par le robot fini que le fait de le construire, l'heure d'assemblage m'a paru longue. Lorsque j'ai eu fini, il me restait la moitié des pièces. J'ai compris que j'aurais dû télécharger l'application d'abord ! Cela prend une heure et on a le choix entre pas mal de modèles différents (avec les mêmes pièces je suppose). Si vous suivez le même chemin, il vaut mieux procéder dans cet ordre, télécharger d'abord, monter ensuite. Je vous montre une photo de mon petit n'importe quoi car je n'ai pas eu le courage de terminer un des assemblages proposés. L'essentiel était pour moi d'avoir un n'importe quoi qui bouge tout seul.

Le montage n'est pas si compliqué et la télécommande marche plutôt bien. Les moteurs se branchent côté lettre et les capteurs se branchent côté chiffre (4 de chaque côté). Lego fournit un logiciel qui permet de programmer le robot avec des commandes visuelles de la même façon que Scratch. C'est un peu pour lui que je me suis lancé dans l'affaire. Ceux qui ont déjà programmé s'y retrouveront assez facilement. On finit par comprendre comment raconter une histoire entre les capteurs (tactile + infrarouge) et les moteurs (deux roues + un autre moteur tournant).

On reconnaît qu'on a lancé l'application car elle reproduit le bruit de robots dans les couloirs de fond de calle de l'étoile noir. On arrive vite à comprendre comment écrire un petit programme, à le transborder sur le robot puis à le faire tourner. Le programme ci-dessous attend en boucle la pression du capteur tactile. S'il est pressé, le robot recule.

Je ne sais pas si je coderais quelque chose de conséquent avec ce robot. L'aspect visuel est sympathique mais les gros programmes peuvent devenir vite illisible si on n'a pas un grand écran. J'ai essayé de dénicher quelque chose avec Python mais le chemin n'a pas l'air aussi bien balisé qu'avec l'application de Windows. Il y a bien des gens qui s'y sont essayés mais sous Linux: Getting started with Python on EV3. Les autres modules ont l'air un peu trop vieux. Si on aime le C#, il existe une extension Visual Studio: LEGO MINDSTORMS EV3 API (et celle-ci pour échanger avec le robot via bluetooth EV3Messenger).

Il existe d'autres capteurs / moteurs qu'on peut ajouter au robot: Additional Lego EV3 Resources for Robotic Applications. J'aimerais bien lui ajouter une caméra et lui demander se ballader seul dans l'appartement mais ça risque de prendre encore un peu de temps.

Le robot Lego n'est pas la seule façon d'aborder une programmation visuelle. Il est possible avec Arduino de construire des jouets ou des objets plus utiles au quotidien puis de les programmer de façon visuelle avec l'extension S4A. Un ami m'a récemment parlé de fischertechnik qui propose aussi des robots.


<-- -->

Xavier Dupré