URBI Tutorial for urbi 0.9

Basé sur URBI revision 142

Jean-Christophe Baillie

Antoine Robin (traduction de l'anglais)

Ce document est distribué sous la licence Attribution-NonCommercial-NoDerivs 2.0 Creative Commons (http://creativecommons.org/licenses/by-nc-nd/2.0/deed.fr).


Table des matières

1. Introduction
2. Installer URBI
Préparer le memorystick pour Aibo
3. Premiers pas
Affecter et lire une valeur associée à un moteur
Régler la vitesse, la durée ou la gestion sinusoïdale des mouvements
A la découverte des variables
Structure générale des variables
Les valeurs d'un device et l'alias .val
Créer une variable globale
Les expressions
Les listes
Exécuter des commandes en parallèle
Affectations conflictuelles
Variables et propriétés utiles des devices
Quelques commandes utiles
4. Fonctions plus avancées
Le branchement conditionnel et les boucles
if
while
for, foreach
loop, loopn
Les mécanismes de capture d'événements
at
whenever
wait, waituntil
timeout, stopif, freezeif
Les tests coulés
Emettre un événement
Evénements simples
Les événements avec paramètres
Durée d'un événement
Evénements pulsés: la commande every
Etiquettes, drapeaux et contrôle des commandes
Le regroupement d'objets
Définir une fonction
Messages d'erreur et messages-système
5. Les objets avec URBI
Définir une classe
Méthodes virtuelles et attributs
Les groupes
La diffusion
6. L'exemple de la détection de balle
Détection de la balle
Le programme principal
Programmer par un graphe de comportement
Contrôler l'exécution du comportement
7. Images et sons
Lire une valeur binaire
Affecter une valeur binaire
Attributs associés
Exemples d'opérations binaires
8. La liburbi en C++
Qu'est-ce que la liburbi?
Les composants et liburbi
Premiers pas
Envoyer une commande
Envoyer une donnée binaire
Recevoir des messages
Les types de données
UMessage
USound
UImage
Opérations synchrones
Lecture synchrone de la valeur d'un device
Obtenir une image de façon synchrone
Obtenir du son de façon synchrone
Fonctions de conversion
L'exemple d'urbiimage
9. Créer des composants: l'architecture UObject
UObject
Les bases
Ajouter des attributs
Lier une fonction ou un évenement
Minuteurs
Types binaires avancés
L'attribut load
L'attribut remote
L'exemple de colormap
En pratique, comment profiter d'un UObject?
Comment installer le kit de développement pour construire/lier des composants pour votre robot ?
Comment créer et utiliser un composant distant ou intégré ?
Comment incorporer plusieurs composants dans votre serveur URBI ?
Comment distribuer l'un de vos composants et le proposer à d'autres ?
10. Mettre tout cela ensemble
Exemples d'utilisations classiques
A. Copyright

Liste des illustrations

4.1. Une hiérarchie typique de device moteurs
6.1. Le graphe de comportement de la détection de balle
10.1. L'architecture générale d'URBI, en mettant tout ensemble