Urbi - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Fonctions

  • Programmation parallèle et événementielle
  • Programmation par prototypes
  • Syntaxe urbiscript proche du C++
  • Architecture de composants C++ (UObject) avec possibilité de lier des objets ou de les exécuter à distance
  • Architecture Client/Server
  • Interfaces clients avec Java et Matlab (Urbi SDK)
  • Plates-formes multiples : Linux, Mac, Windows, et environnements embarqués (x86, ARM, mips, powerPC...)
  • Marquage de commandes permettant leur contrôle de façon asynchrone
  • Intégration de ROS directement accessible depuis urbiscript (version 2.1)

Robots et simulateurs compatibles Urbi

Livrés :

  • Webots (simulateur)
  • Aibo ERS7/ERS2xx
  • iRobot Create
  • Lego Mindstorm NXT
  • HRP-2 (livraison restreinte)
  • Nao (Aldebaran Robotics)
  • RMP (Segway)
  • Spykee (Meccano)
  • Bioloid

Annoncés :

  • Pioneer

Non maintenus :

  • e-puck
  • Surveyor
  • Khepera III

Architecture de composants UObject

L'architecture de composants UObject, actuellement basée sur la bibliothèque C++ UObject, permet d'interfacer n'importe quel objet C++ avec Urbi/urbiscript, rendant les méthodes et les attributs sélectionnés du code C++ visibles directement depuis le langage de script. Des indicateurs peuvent être positionnés pour permettre de prévenir le composant C++ de tout changement effectué sur les attributs de l'objet par le langage urbiscript.

Un objet C++ (UObject) peut être utilisé localement, soit en le liant statiquement lors de la compilation, soit par chargement dynamique ultérieur. L'objet C++ partage alors directement la mémoire du noyau Urbi, permettant une intégration efficace. Il s'agit d'une utilisation typique pour les composants critiques tels que les drivers de moteurs ou de capteurs. Ce même objet C++ peut également être utilisé sans modifications en tant que composant distant. Dans ce cas, il devient un programme autonome qui est exécuté avec comme paramètre l'adresse IP du moteur Urbi. Dans les deux cas, l'objet apparaitra et sera traité dans Urbi comme s'il était un objet natif.

Les composants développés par la communauté peuvent être trouvés et échangés sur le site web communautaire Urbiforge.

Environnement de développement

Urbi permet d'utiliser Gostai Studio qui intègre un éditeur de comportements pour créer graphiquement des machines à état fini hiérarchiques. Gostai Lab est une autre application permettant de réaliser rapidement des interfaces utilisateur par simple glisser-déposé de widgets sur une page de composition.

Page générée en 0.093 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales
Version anglaise | Version allemande | Version espagnole | Version portugaise