Nomade: ressources disponibles

Denis Poussart, 27 janvier 2001


Eléments principaux

- Le chassis mécanique de Nomade est réalisé au moyen de pièces du système Lego® Mindstorm™.

- Nomade exploite le microcontroleur RCX qui fait partie du système Mindstorm et ses périphériques,

- Nomade dispose d'une caméra CCD couleur miniature et d'un modulateur / transmetteur audio / video à 2.4GHz.

- Les circuits électroniques supplémentaires nécessaires - par exemple pour le magnétomèetre - doivent être soigneusement intégés à l'ensemble, tant pour les aspects signaux que pour leur source d'alimentation.

- Le PC de commande est doté

L'exploitation générale est similaire à celle d'une exploration spatiale. Le robot est dotée de capteurs et d'une capacité locale de traitement suffisante pour coordonner ses opérations élémentaires (par exemple son déplacement). Les données et les commandes sont transmises entre le robot et la station de base au moyen d'un lien télémétrique (ici à 2.4 GHz). Le traitement de plus haut niveau, comme l'analyse d'image, est effectué par la station de base, ici représentée par le PC disponible dans la salle de travail. C'est à partir de ce PC que l'opération est coordonnée.

Je vous invite à jeter un coup d'aeil sur un cours à l'université d'Utrecht où l'objectif est quelque peu semblable au nôtre. Vous observerez la diversité des configurations: http://www.cs.uu.nl/~markov/lego/challenge/index.html, La desciption du projet et leur mode de travail est disponible sur http://www.cs.uu.nl/~markov/lego/challenge/description.html.


Vous ne devez sous aucun prétexte démonter le matériel (Lego RCX et autre)
qui vous est fourni pour ce travail. Toutes les connections et les
montages doivent être effectués de manière impeccable,
sans compromettre l'intégrité et la réutilisabilité du matériel.
En cas de doute, consultez nous!


Sources utiles

Lego (les liens Lego de DenisP)

Il existe de muliples sources d'informations sur le LegoMindstorm, dont un grand nombre sur le Web. On trouvera ici quelques pointeurs utiles.

Everything Lego: une mine de près de 500 url! http://www.lugnet.com/links/
La page Lego de Yahoo: nombreux liens: http://dir.yahoo.com/Recreation/Toys/Lego/

Historique du kit Mindstorm:
http://el.www.media.mit.edu/groups/el/

Trucs et astuces du système Lego:

The Art of Lego Design  (Document Acrobat PDF de 974 Kb)

Détails techniques du Lego Mindstorm: http://www.crynwr.com/lego-robotics/

Babillard Lego: http://www.lugnet.com/. Voir en particulier la section http://www.lugnet.com/robotics/

Quelques pages personelles particulièrement intéressantes (en fait il y en a des centaines!):
http://www.mop.no/~simen/lego.htm
http://www.visi.com/~dc/
http://carol.wins.uva.nl/~leo/lego/
http://www.geocities.com/CapeCanaveral/Galaxy/9449/lego_mindstorm.html#section2
http://staticip.cx/~benw/lego/

Le processeur embarqué RCX

Le système Mindstorm comprend un processeur monté dans une "brique", le RCX, inspirée de celle qui avait été développée au Media Lab http://el.www.media.mit.edu/projects/programmable-brick/. Celle-ci utilisait un microcontrolleur 6811. Pour fins de commercialisation, le Mindstorm a plutôt recours à un Hitachi H8/3292.

Vous n'aurez (surtout!) pas à le programmer directement en assembleur, mais il sera intéressant de regarder de près ses caractéristiques afin d'avoir une idée de sa puissance. Voir http://www.hitachi.co.jp/Sicd/English/Products/micom_all/l056e.htm

Les caractéristiques internes du controleur RCX sont décrites sur ce site essentiel: http://graphics.stanford.edu/~kekoa/rcx/

Le RCX comprend 3 sorties, typiquement utilisées pour alimenter des moteurs, et 3 entrées pour l'interface de capteurs, de même qu'un port de communication infrarouge normalement utilisé pour le chargement des programmes. Il est doté de 32K de RAM et de 16K de ROM.

Les caractéristiques des entrées (Lego rèfère à leur utilisation en mode "lumière", "toucher" et "température", mais ceci n'est qu'une simple convention) sont décrites en détail sur http://www.plazaearth.com/usr/gasperi/lego.htm. Ce site est une mine d'or pour tout ce qui concerne les capteurs.

Vous trouverez 2 photos de l'intérieur du RCX sur http://www.geocities.co.jp/Technopolis/6264/mindstorms/rcx.html mais vous risquez d'avoir de la difficulté à lire le texte!

Environnements de programmation

La plupart du temps, les robots construits avec le systéme Mindstorm sont conçus pour être "autonome": en phase de préparation, un programme spécifique, qui a d'abord été préparé sur le PC de support, est téléchargé dans le RCX en utilisant le lien infrarouge. Par la suite, le code s'exécute sans autre intervention: l'"intelligence" est complétement embarquée. Les capacités de traitement du RCX sont cependant fort limitées, et dans le cadre de ce projet nous utilisons un mode différent: en cours d'opération, à la fois le RCX et le PC co-participent au traitement et à la prise de décisioon. En fait, avec les opérations de haut niveau que vous devez élaborer, l'essentiel devra s'exécuter sur le PC hôte. A vous d'effectuer cette répartition en traitement distribué, qui est loin d'être triviale! Ce qui suit fournit des infos sur les environnements exécutables sur le RCX lui-même.

L'environnement logiciel fourni avec le Mindstorm, RCX Code, est primitif. Vous pourrez l'utiliser pour effectuer quelques essais rapides, mais pas plus.

Documentation technique du code RCX, de ses fonctions et de la syntaxe de son interface Spirit.ocx: http://www.legomindstorms.com/sdk/SDK.asp

La communauté a développé plusieurs environnements beaucoup plus puissants. http://www.rcx.ic24.net/interfaces.htm en décrit brièvement plusieurs (mais oublie de mentionner LegOS)
Je vous recommande particulièrement NQC (Not Quite C), développé par Dave Baum, l'auteur d'un des 2 livres signalés plus bas. Le site officiel de NQC est http://www.enteract.com/~dbaum/nqc/index.html. Consulter sans faute!

L'université d'Utrecht , qui utilise le Mindstorm pour des activités d'enseignment semblables aux nôtres, a rédigé un excellent tutoriel sur le NQC: http://www.cs.uu.nl/people/markov/lego/tutorial.pdf. Elle a aussi développé RCXCC, un environnement d'interface de haut niveau pour faciliter et étendre l'utilisation de NQC: http://www.cs.uu.nl/~markov/lego/rcxcc/index.html. Elle offre également des exemples de programmation: http://www.cs.uu.nl/~markov/lego/rcxcc/examples.zip

LegOS est l'environnement actuellement le plus évolué bien que son développement n'aie pas la maturité de NQC. Puissant mais risqué! Voir:
http://legOS.sourceforge.net/HOWTO/
http://legos.sourceforge.net/
http://www.noga.de/legOS/
Si vous voulez explorer LegOS, parlez-nous avant et regardez sans faute:
http://www.beesknees.freeserve.co.uk/lego/, de même que http://ex.stormyprods.com/lego/legOS.html

Bien que le logiciel Mindstorm soit d'abord conçu pour la plateforme Wintel, il y a d'autres alternatives:
Le RCX et le PalmPilot: http://members.rotfl.com/vadim/rcx/
Le RCX et le Macintosh: http://mevard.www.media.mit.edu/people/fredm/mindstorms/
et il y a une version de NQC exécutable sur MacIntosh (voir http://www.enteract.com/~dbaum/nqc/index.html)

Livres sur le Lego Mindstorm:

The Unofficial Guide to LEGO® MINDSTORMS™ Robots, Jonathan B. Knudsen: http://www.oreilly.com/catalog/lmstorms/. Contient la description de plusieurs assemblages pertinets.

Le site de ce libre contient des informations trés intéressantes, notamment:

Dave Baum's Definitive Guide to Lego Mindstorms, Dave Baum: http://www1.fatbrain.com/asp/bookinfo/bookinfo.asp?theisbn=1893115097&from=MJF138.

On trouvera une analyse comparative détaillée de ces volumes dans http://slashdot.org/books/99/12/23/1419242.shtml.

Outils de présentation visuelle de construction Lego:
CAO permettant de dessiner sur ordinateur votre création Lego
http://www.ldraw.org/memorial/archive/FAQ/
Conseils sur la photographie de modèles:
http://www.Baylug.org/ninja/original/Photography.html

Localisation, navigation

Une copie de "Navigating Mobile Robots: Sensors and Technique" , A. K. Peters, Ltd., Wellesley, 1996, MA , dont la préparation a été réalisée à l'université du Michigan et financée par le U. S. Department of Energy vous sera remise. Cet excellent volume est dans le domaine public et peut être librement téléchargé à partir de l'adresse http://ftp.eecs.umich.edu/people/johannb/pos96rep.pdf. Noter que le fichier PDF fait 13M et que le document fait plus de 200 pages! Cette copie vous est prétée comme document de référence et devra m'être remise à la fin du trimestre. Voir aussi http://www-personal.engin.umich.edu/~johannb/position.htm

Acqusition vidéo

Nous utilisons des cartes d'acquisition Matrox, de la famille Meteor: http://www.matrox.com/imaging/prod/meteor2/home.htm

Le site Matrox contient des notes d'applications et des conseils pertinents: http://www.matrox.com/imgweb/camera/camera.htm

Traitement d'image, vision artificielle

Un excellent site encyclopédique: CVonline: The Evolving, Distributed, Non-Proprietary, On-Line Compendium of Computer Vision (Université d'Edinburg): http://www.dai.ed.ac.uk/CVonline/

Cours en ligne de l'université de Dublin: http://www.cs.tcd.ie/courses/computervision/

Index de sources en logiciel: http://www.cs.cmu.edu/~cil/v-source.html

Autres informations générales

Il existe une immense quantité de sources d'informations, la plupart disponibles sur le Web. Utliser les engins de recherche pour les identifier. J'en signale quelques-unes ici.

La liste usenet comp.robotics.research est très active. Vous y repérerez beaucoup d'informations utiles. La rubrique Robotics Frequently Asked Questions y est périodiquement mise à jour. On trouvera la version la plus récente sur http://www.frc.ri.cmu.edu/robotics-faq/

La liste usenet rec.toys.lego est un forum actif. Son FAQ est sur http://www.multicon.de/fun/legofaq.html

6.270 Robot Builder's Guide (édition originale de Fred Martin en format postcript)

6.270 Robot Builder's Guide (édition originale de Fred Martin en un seul fichier PDF)
ftp://cherupakha.media.mit.edu/pub/projects/6270/docs-1992/6270-guide-92.pdf

Liste et pointeurs des laboratoires de recherche internationaux actifs en robotique: http://www-robotics.cs.umass.edu/cgi-bin/robotics-university/

Liste et pointeurs des laboratoires de recherche internationaux actif en vision numérique: http://www.cs.cmu.edu/~cil/v-groups.html

Build your own Robot!

Le personnel des laboratoires de recherche du département se fera un plaisir de vous renseigner ou de vous fournir des pointeurs d'informations spécifiques. N'hésitez pas à les contacter!

 


 Retour à la page de bienvenue