next up previous contents
suivant: Modélisation mathématique monter: Présentation du problème précédent: Cadre   Table des matières

Outils utilisés

Tout d'abord, faisons une petite présentation des Lego MindStorms. Lego a développé un kit de développement (Robotics Invention System 1.5) pour créer et programmer des robots autonomes construits à partir de classiques pièces Lego. Le tout est piloté par une brique RCX qui contient un micro-contrôleur programmable.

Le kit d'origine comprend outre cette brique "intelligente", deux moteurs, deux capteurs de contact, un capteur lumineux ainsi qu'un émetteur infrarouge et toute la connectique nécessaire. Il y a sur cette brique 3 entrées et 3 sorties qui peuvent être des capteurs, des moteurs ou même une caméra numérique. Nous avons la possibiblité de manipuler des capteurs de lumière, de contact, de rotation et même de température (que l'on peut acquérir séparément auprès de Lego). On peut même y adjoindre quantité d'autres capteurs totalement étrangers à l'univers Lego, repoussant encore davantage les possibilités du système.

Cependant, l'aspect le plus intéressant des Lego MindStorms est bien entendu la programmation du système. Bien que l'apprentissage de la programmation grâce aux outils fournis par Lego s'avère convivial et agréablement didactique, cette programmation qui s'effectue par une interface graphique et par des glisser-déplacer a, malgré tout ses limites, surtout dès lors qu'on décide de se lancer dans des projets un peu plus ambitieux que de faire changer de direction le robot quand il rencontre un obstacle. En effet, la programmation RCX n'accepte pas l'utilisation de variables, ce qui réduit forcément les possibilités d'une programmation quelque peu évoluée. À noter également que ce SDK Lego, ne fonctionne que sous MS-Windows.

Fort heureusement, un projet Open Source a vu le jour sous le nom de legOS qui a pour but de fournir un environnement de développement en C/C++ pour le Lego MindStorms Robotics Kit, ce qui ouvre de nouvelles perspectives pour la programmation du RCX. Il s'agit même d'un véritable système d'exploitation embarqué qui prend la place du firmware originel. Les avantages de legOS sont une perfomance accrue, une plus grande flexibilité grâce à la programmation C/C++, la gestion du multi-tâches préemptif (qui nous permet de manipuler les notions de threads et sémaphores vues en cours) pour l'essentiel.

Notons que de nombreux projets similaires se développent actuellement, et on voit apparaitre la possibilité de programmer le RCX dans quasiment tous les langages de programmation (Assembleur, C, C++, Forth, Java, Perl ).1.1


next up previous contents
suivant: Modélisation mathématique monter: Présentation du problème précédent: Cadre   Table des matières
2001-01-11