Dans l'histoire de Clubic, c'est bien la première fois que nous consacrons un article à un produit du Danois Lego. Pourtant les Lego font à coup sûr parti de l'univers des geeks qui constituent une part non négligeable de notre audience. Quel passionné d'informatique n'a en effet pas grandi sans construire, à un âge ou à un autre, ses propres Lego... Technics de préférence ?
Pour ces grands enfants, Lego développe depuis quelques années une gamme baptisée MindStorms. Il s'agit pour la firme de proposer des Lego Technics que l'on programme via l'ordinateur : soit en quelque sorte une première approche de la robotique. Non content de construire son propre robot, le geek qui se respecte peut maintenant le programmer, de manière élaborée, en prévoyant des interactions avec son environnement, comme nous le verrons un peu plus loin. Lego livre en effet divers capteurs qui donneront à votre réalisation une certaine intelligence. À l'approche de Noël, nous nous proposons de tester ou plutôt de nous amuser avec le kit Lego Mindstorms NXT. À mettre d'urgence sous votre sapin ?
Lego Mindstorms NXT : un peu d'histoire
Les passionnés de Lego se souviennent sûrement du set Lego Technic 8852 sorti en... 1987 ! À l'époque, il s'agissait d'un camion se transformant, via la manipulation d'une molette, en un robot. Entièrement manuel, le robot du kit 8852 était loin d'égaler les capacités de l'un des robots qu'il est possible de construire avec le kit Mindstorms NXT qui nous préoccupe aujourd'hui. Pourtant il ouvrait en quelque sorte la voie, tout comme ce sous-marin jaune, sorti en 1997, avec système Pneumatic et, pour la première fois chez Lego, CD-ROM de montage (set 8250).Lego Technics 8852
Bien sûr, le kit Mindstorms NXT alias 8527, tel qu'il nous est proposé aujourd'hui, ne sort pas tout à fait de nulle part, puisque Lego développe depuis quelques années déjà son programme robotique avec divers produits, dont les kits Mindstorms. Ces derniers poursuivent un double but en se voulant tout à la fois ludiques et éducatifs alors qu'il faut remonter en 1998 pour retrouver la sortie du premier kit Mindstorms. À l'époque, Lego s'était adjoint les services du Massachussets Institute of Technology, et proposait la brique RCX ou Robotics Command System, une brique aux capacités plus réduites que celle qui anime aujourd'hui les Mindstorms NXT. La version NXT profite quant à elle du retour des utilisateurs enthousiastes de la communauté Mindstorms, Lego ayant réussi à créer et fédérer une véritable communauté autour de ses kits programmables. Avec l'ensemble Mindstorms NXT, Lego nous propose de construire, entre autre, un robot entièrement articulé capable de se déplacer et de réagir à son environnement puisqu'au contraire du robot Technics de notre enfance, le robot Mindstorms NXT est « intelligent ».
Au cœur de Mindstorms, la brique NXT
Avec 519 pièces, l'ensemble Mindstorms s'articule autour de la nouvelle brique intelligente NXT qui renferme un microprocesseur 32-bits ARM-7. Celui-ci aura pour rôle d'exécuter les programmes qui lui seront transmis via le câble USB fourni ou via l'interface Bluetooth, une radio Bluetooth de type Bluetooth 2.0 étant incluse dans cette brique. Clef de voûte du système, la brique NXT est alimentée par six piles LR6 (ou une batterie rechargeable que l'on peut acquérir en option). Comme souvent chez Lego, se pose le problème du remplacement des piles puisque pour les remplacer il faudra démonter la brique... et donc mettre en pièce sa construction. Au vu de la consommation électrique de l'engin, nos six piles n'ayant pas duré plus d'un mois, l'achat de la batterie rechargeable semble indispensable.Dotée d'un écran LCD et d'un total de quatre boutons, le bouton central orange permettant de mettre en route le système, la brique dispose d'un menu doté d'icônes dans lequel on navigue avec les flèches. On pourra ainsi sélectionner le programme que l'on souhaite exécuter, activer le Bluetooth, consulter les contacts de son téléphone portable, régler le volume du haut parleur intégré ou encore mettre de l'ordre dans ses fichiers ou bien tester le bon fonctionnement des capteurs avec certains programmes test.
La brique NXT nue
Avec 256 Ko de mémoire flash, la brique NXT ne peut malheureusement stocker qu'un nombre restreint de programmes. C'est d'autant plus dommage que le haut-parleur Piezo qu'elle renferme peut être utilisé pour que le robot donne de la voix : sauf qu'en stockant des fichiers audios, la quantité de mémoire disponible est très vite réduite. En terme de connectique, on retrouve, sur le bas de la brique, quatre connecteurs propriétaires (type RJ-11) servant à relier en entrée les divers capteurs Mindstorms alors que le sommet de la brique comporte trois connecteurs, toujours de type propriétaire, pour contrôler un total de trois servomoteurs électriques. Non loin de là se situe le connecteur USB utilisé pour programmer notre brique. Toujours au sujet de la brique NXT, il est bon de préciser que son micro-logiciel est libre : vous pouvez donc le modifier à votre guise ou profiter des firmwares alternatifs développés par la communauté.
Il est à noter que les capteurs des premiers Mindstorms RCX ne sont pas compatibles avec le nouvel ensemble NXT. Il faudra faire l'acquisition d'adaptateurs, vendus en option, pour continuer à profiter de ses accessoires de première génération. De plus, la brique NXT s'intègre différemment dans vos constructions. Exit ici les tenons d'assemblage, Lego ne proposant que des trous sur les côtés et le dessous de la brique, à la façon des briques Technics.
La brique NXT en fonctionnement
Des capteurs, en veux-tu ? en voilà !
Le kit Mindstorms NXT comprend, outre les éléments de montage tels que les briques, engrenages, plots, etc., un ensemble de moteurs et de capteurs. On retrouve dans la boîte trois servomoteurs, tous identiques, avec un détecteur de rotation. La rotation des moteurs peut se faire au degré près et chaque moteur peut être actionné avec plus ou moins d'intensité.Servo-moteur Lego Mindstorms NXT
Du côté des capteurs, Lego en fournit quatre... tous différents ! Lego propose ainsi un capteur de contact ou de toucher, un microphone, un capteur de lumière et un sonar. Le capteur de lumière est capable de détecter trois niveaux de luminosité : cela peut permettre de créer un robot capable de se déplacer selon une ligne tracée au sol ou encore un robot capable de trier les objets par couleur. C'est pour cette raison qu'une balle rouge et une balle bleue sont livrées dans le kit. De son côté le sonar détecte la proximité d'un obstacle avec une précision de 3 centimètres pour une échelle comprise entre 0 et 255 centimètres. Enfin le capteur que nous baptisions microphone ne fait que mesurer le niveau de décibels de la pièce.
Échantillonnage des divers capteurs livrés avec Mindstorms NXT
Avec ce large éventail de capteurs, le robot, ou toute autre création de votre esprit, peut donc entendre, se repérer dans l'espace et détecter la lumière et l'intensité de cette dernière. En option, Lego propose sur son site Internet d'autres capteurs dont un capable de détecter les couleurs, le second renfermant un accéléromètre et le troisième intégrant un compas.
Mindstorms NXT : le montage
Livré dans une boîte aux dimensions plus qu'imposantes, le kit Mindstorms NXT comporte un grand nombre de pièces, ce qui devrait ravir les amateurs de montages un tant soit peu complexes. Étant donné qu'il est possible de réaliser jusqu'à quatre modèles différents, on retrouvera dans le kit des pièces aussi inattendues que des pinces, des griffes, des balles, des roues, sans oublier la traditionnelle planche d'autocollants. Les instructions de montage sont pour le moins déroutantes puisque dans notre unité d'évaluation, nous avons trouvé le plan pour monter notre robot... sur le CD-ROM du logiciel NXT, sur lequel nous reviendrons un peu plus loin. Monter un Lego Technics avec un plan sur ordinateur plutôt que sur papier... ce n'est pas toujours pratique, avouons-le, comme en témoigne cette vidéo !Pour le reste, les instructions sont relativement bien pensées puisque la construction du robot se divise en diverses étapes : assemblage individuel de chaque jambe, construction du tronc, et création des bras, les derniers éléments venant constituer la tête notamment. Votre serviteur, qui n'avait pas touché à un Lego Technics depuis ce fameux camion benne avec bras articulé et programmation par lecture de code barres, s'est rapidement dérouillé pour retrouver le plaisir de construire un Lego, tout simplement en approximativement une heure de temps.
Petit regret, lors du montage il est très difficile (impossible ?) de connaître la bonne longueur de câble à employer pour relier capteur ou servomoteur à la brique : on se retrouve parfois avec des câbles trop courts (ou l'inverse) et l'on se met à faire de la couture pour les guider de telle façon que les câbles n'enrayent pas le bon fonctionnement de la mécanique.
Mindstorms NXT : le logiciel
Le montage de votre modèle terminé, il faut maintenant passer à l'installation du logiciel Mindstorms, un logiciel compatible Windows Vista et Mac Intel dans sa version 1.1. Disponible en français, le logiciel s'installe rapidement, mais requiert un redémarrage de l'ordinateur pour être pleinement opérationnel. Graphiquement assez réussi, bien qu'un peu trop fouillé, le logiciel Mindstorms vous permet de programmer visuellement votre robot. Pour cela on retrouve un ensemble d'opérateurs regroupés dans une barre d'outils verticale dont l'affichage est par défaut simplifié alors que la plus grande partie de l'écran consiste en une planche à dessin sur laquelle on glissera les diverses commandes qui vont constituer le cœur de votre programme. Utilisant le langage de programmation NXT-G, le logiciel Mindstorms est entièrement graphique : pas question ici de tremper ses mains dans des lignes de code.Installation du logiciel Mindstorms 1.1
Bien qu'entièrement visuel, l'environnement de développement MindStorms n'est pas pour autant déconnecté de la programmation tel qu'on la connaît sur nos chers PC. C'est ainsi qu'on retrouve des boucles et des commutateurs (si une condition est remplie), comme dans n'importe quel langage de programmation. Parmi les opérateurs les plus simples, le logiciel Mindstorms propose d'actionner les fonctions de déplacement : en glissant la commande déplacer sur la surface de travail, on choisit ensuite le port (A, B, C) du moteur que l'on souhaite actionner et l'on peut ensuite régler le nombre de rotations, la vitesse ou encore la durée. Parmi les fonctions basiques, le logiciel permet de jouer des sons sur le robot ou encore d'afficher des pictogrammes sur l'écran LCD de la brique NXT. Malheureusement ces fonctions sont assez limitées, en particulier l'aspect sonore puisqu'il n'est pas question de télécharger ses MP3 sur la brique NXT. Dommage !
Deux programmes vus sous le logiciel Mindstorms
Ensuite, viennent des opérateurs plus élaborés comme ceux indiquant au programme d'attendre un ordre en provenance d'un capteur, quel qu'il soit, avant d'exécuter une autre action. Il est bien sûr possible de créer des boucles dans des boucles ou encore d'utiliser les commutateurs pour indiquer au programme de faire telle ou telle action en fonction d'une condition que vous déterminerez vous-même. Mieux, en basculant de palette, on retrouve des outils de programmation encore plus avancés avec la possibilité d'effectuer des calculs, d'ajouter des opérateurs logiques ou même de générer des nombres aléatoires ou de définir des variables. Et comme dans un véritable environnement de développement, il est possible d'ajouter des commentaires. Une fois votre programme achevé, il ne reste plus qu'à le compiler pour l'envoyer sur la brique NXT et l'exécuter.
Bref, si le NXT-G est accessible à tous, il n'est pas pour autant simplet, bien au contraire. Il faudra quelques utilisations pour découvrir la richesse des possibilités offertes par le langage de programmation grâce à ses ressources pour le moins fouillées. On apprécie du reste l'intégration d'un module d'aide dans l'application qui permet de suivre des didacticiels pour concocter, étape par étape, des programmes simples en rapport avec le modèle que l'on a construit.
Transfert d'un programme vers la brique NXT
Conclusion
Alors que Noël est proche, le Mindstorms NXT de Lego est assurément un cadeau original pour tout geek qui se respecte. Regroupant en un seul produit, d'aucun diront jouet, le meilleur de deux passions (NDLR : l'informatique et les Lego), le kit Mindstorms NXT reste, deux ans après sa sortie, toujours aussi bluffant. Certes les capacités de la brique NXT pourraient être supérieures, notamment au niveau de sa mémoire ou de son écran que l'on aimerait en couleurs, mais les possibilités offertes par ce Lego Technics d'un nouveau genre sont tout bonnement époustouflantes. L'ensemble des moteurs et capteurs livrés par Lego permettent de créer dès le montage des modèles pleinement fonctionnels avec des interactions assez amusantes. Imaginez que notre robot, prénommé Michael en hommage à un Canadien célèbre, peut nous souhaiter bonne nuit lorsque la lumière s'éteint dans la pièce ou nous dire bonjour lorsque la lumière s'éclaire. Mieux, Michael est capable d'avancer de lui-même lorsque nous sommes à proximité alors qu'en nous éloignant il peut nous dire au-revoir et faire demi-tour.Alors bien sûr avec un logiciel de programmation comme Mindstorms NXT, nous n'avons fait qu'effleurer les possibilités offertes par Lego d'autant que certains capteurs optionnels enrichissent encore ce qu'il est possible de faire. Mais en attendant, construire ce robot, le voir s'animer, et le programmer selon nos desiderata fut une expérience assez réjouissante il faut bien le reconnaître. Tirer le plein potentiel des Mindstorms NXT demandera toutefois du temps et... de l'argent, le kit 8527 étant onéreux alors que les capteurs optionnels sont plutôt chers.
Cet article vous intéresse ? Retrouvez-le dans le :
- Comparer les prix du Mindstorms NXT
- Venez discuter de ce dossier dans le forum