Club robotique de Sophia-Antipolis

Accueil > POBOTpedia > Programmation > Découvrir > Open Source et Logiciel Libre > Logiciels open source pour la robotique > Découverte d’Urbi

Découverte d’Urbi

jeudi 17 juin 2010, par Julien H.

Urbi, pour Universal Real-time Behavior Interface, est un dispositif de contrôle client-serveur destiné à universaliser le pilotage de robots différents d’un point de vue matériel et logiciel mais pouvant faire fonctionner une interface de communication standardisée.

On doit la naissance d’Urbi en 2003 au fondateur de Gostaï, une société française qui développe différents environnements de programmation et contrôle de robots de service, et accessoirement sponsorise Pobot depuis juin 2010.

Urbi est désormais open-source (licence GPL) et peut être étendu facilement grâce à une interface C++ "UObject" qui standardise la connexion de code spécifique ou déjà existant au reste de l’API (ensemble de fonctions de base) existante.

Site Urbi open source

Parmi les robots déjà compatibles avec URBI, on trouve des robots connus accessibles à un club :

 les Lego Mindstorms NXT (utilisés par le club)
 le robot à chenilles Spykee de Meccano
 l’aspirateur intelligent de iRobot (version Create qui ne se trouve pas en Europe car contient du plomb)

Pour les plus riches, on peut rêver avec des robots comme :

 le chien-robot de Sony (déjà vieux)
 les kits de construction haut de gamme Bioloid
 l’humanoïde qui danse (et peut-être sait marcher [1]), Nao de Aldebaran Robotics

Il y a d’autres robots mais je ne les connais pas. Vous trouverez la liste complète et mise à jour sur le site Urbi.

Les bases

J’ai indiqué dès la définition d’Urbi qu’il s’agissait d’un système client-serveur car c’est une contrainte importante : il faut un logiciel "serveur" qui tourne sur le robot, faisant l’interface bas-niveau avec l’électronique et les différents éléments, et au moins un logiciel "client" capable de se connecter au robot / serveur en IP (protocole réseau).

C’est donc une limite importante pour nous qui avons plutôt l’habitude de développer du logiciel embarqué. Certes on trouve de plus en plus de systèmes compatibles (Ethernet, Wifi), et même si le robot est de ce fait piloté par un dispositif extérieur et non plus autonome, cela permet à un plus grand nombre de développeurs d’avoir accès à la robotique.

Mais, si on a la puissance de calcul suffisante pour faire fonctionner le serveur PLUS le client sur le robot, alors on retrouve cette autonomie. Et on gagne même parfois un logiciel de contrôle compatible avec un autre hardware : on ne développe qu’une seule fois les commandes robotiques haut-niveau et on change juste l’interface bas-niveau.

Un peu de pratique

Le club disposant d’un robot Lego NXT qui est compatible avec Urbi, des ateliers pour prendre en main URBI sont proposés aux adhérents du club.

Par exemple :
 piloter un moteur Lego NXT depuis une interface en ligne de commande
 suivi de ligne sur le terrain des courses mensuelles du club
 ... autre sur demande (via le forum)

Des articles sont d’ors et déjà disponibles pour apprendre à manipuler un robot NXT avec URBI.

Pour aller plus loin

URBI peut être utilisé sur les robots de la Coupe de France, une solution intéressante surtout si on le couple à l’utilisation de Gostai Studio dont le club possède une licence.


[1je dis ça car beaucoup de vidéos montrent Nao en train de danser mais peu en train de se déplacer. Je ne demande qu’à être convaincu.

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.