suivant: Modélisation mathématique
monter: Présentation du problème
précédent: Cadre
  Table des matières
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
suivant: Modélisation mathématique
monter: Présentation du problème
précédent: Cadre
  Table des matières
2001-01-11