Club robotique de Sophia-Antipolis

Accueil > POBOTpedia > Lego Mindstorms > NXT en langage Java > Java avec Lejos pour Lego Mindstorms

Java avec Lejos pour Lego Mindstorms

vendredi 28 décembre 2012, par Eric P.

La programmation Java via LeJOS est tout à fait accessible, et peut-être même plus que celle en C par exemple, car un des grands intérêts de cet environnement est de proposer des abstractions de haut niveau des différentes fonctions.

Par exemple, pour piloter un robot de type différentiel (ie "char") tel que celui qu’on peut construire avec le kit NXT, les classes disponibles fournissent des méthodes correspondant aux différents ordres qu’on est amené à donner : avancer de telle distance, tourner de tel angle,... Le code de la bibliothèque se charge de calculer à partir de ces ordres les consignes correspondantes pour les moteurs, en tenant compte des caractéristiques dimensionnelles du robot (diamètre des roues et distance entre les roues) fournies lors se son initialisation. Un exemple illustrant cela est fourni dans la documentation de la classe correspondante :
http://lejos.sourceforge.net/nxt/nx...

D’autres types d’architecture mécaniques sont également supportés par les pilotes correspondants :
 robot à roues directionnelles (ie véhicule classique)
 robot holonome

Dans chaque cas, les classes fournies visent à prendre à charge la complexité du contrôle fin des actionneurs, et permettent ainsi de ne se préoccuper que de la logique de haut niveau.

Cela peut aller encore plus loin, car des classes sont également fournies pour gérer la navigation par waypoints par exemple et se chargent de calculer et de donner les ordres de pilotage en fonction des directives de navigation.

Et ce n’est qu’une toute petite partie des capacités de LeJOS, car il traite également les communications Bluetooth, le contrôle à distance, le contrôle de servos moteurs de type R/C, ainsi que des architectures de contrôles sophistiquées telles que la subsomption (Rodney Brooks - http://en.wikipedia.org/wiki/Subsum...)

Les autres environnements (NXC, RobotC, IDE graphique Mindstorms) ne fournissent que la couche d’accès de bas niveau aux capteurs et actionneurs et obligent donc à tout gérer soi-même.

Liens utiles

Outre la documentation de référence dont j’ai utilisé quelques pointeurs précédemment, une très bonne source d’information est le eBook écrit par les concepteurs de LeJOS et disponible gratuitement ici : http://www.juanantonio.info/lejos-ebook/

Les documentations sont quasiment toutes en anglais, mais cela ne devrait pas poser trop de problèmes car c’est de l’anglais technique et non pas littéraire. De plus, cela peut être un très bon exercice dans un contexte scolaire pour les élèves en liaison avec leur professeur d’anglais. Un bon cadre d’application pour la transversalité entre matières.

Un message, un commentaire ?

modération a priori

Attention, votre message n’apparaîtra qu’après avoir été relu et approuvé.

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.