Denis Poussart, 27 janvier 2001
- 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.
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
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!