- The ORCCAD Architecture
[Borrelly et al. 1998] : ORCCAD98
Cet article présente l'environnement de
programmation ORCCAD, développé pour servir d'interface entre le
niveau délibératif et le niveau matériel d'un système
robotisé. ORCCAD
fait le lien entre ces deux niveaux, respectivement discret et
continu, à travers deux structures de programmation : la robot-task qui
représente l'instanciation d'une action continue du matériel (par
exemple le déplacement d'une position à une autre) et la robot-procedure qui est un assemblage de robot-tasks
et de robot-procedures remplissant un objectif. Des mécanismes
d'exceptions sont à la disposition de l'utilisateur pour traiter les
erreurs. L'article décrit les
outils de l'environnement ORCCAD pour la conception graphique, la
vérification
formelle ou en simulation, et la génération de code du niveau de
commande réalisé avec ces deux types de structures. Il présente finalement
un exemple d'application sur un système autonome sous-marin.
- ControlShell : A Software Architecture for Complex
Electromechanical Systems
[Schneider et al. 1998] : CSHELL98
Cet article présente l'environnement de programmation ControlShell,
développé pour faciliter la programmation de composants
logiciels de systèmes complexes, particulièrement à travers
la vitesse de
développement, la visibilité de ses
outils, et la réutilisabilité de ses structures. Un composant est
implémenté de manière différente suivant son fonctionnement : un
composant périodique est décrit
par un assemblage de blocs interconnectés, et un composant
séquentiel par une suite de transition entre états. Le code
du composant est généré automatiquement, et peut être testé en
simulation. L'article présente trois exemples d'application de
l'environnement.
- The Real-Time Motion Control Core of the Orocos Project
[Bruyninckx et al. 2003] : OROCOS03
Cet article présente le projet OROCOS (Open RObot
COntrol Software) qui cherche à offrir un canevas de structure
logicielle
portable et temps-réel dur pour les composants fonctionnels de
systèmes robotiques. Cette
structure est constituée de neuf composants : trois composants
infrastructurels, complètement implantés, qui mettent en place la
fonctionnalité temps-réel et supportent l'exécution des autres
composants, et six composants fonctionnels à implanter. Parmi ces six
composants fonctionnels, trois forment la boucle d'exécution que l'on
retrouve souvent dans les systèmes autonomes :
Générateur (décision), Commande (action), Observateur(observation).
L'article présente ensuite un
exemple d'application du projet OROCOS au problème de déplacement, qui
utilise deux instances de cette structure logicielle (un niveau temps-réel
dur et un niveau temps-réel mou), mais ne donne pas de résultats (le
prototype n'étant pas terminé).
- Specifying and Verifying Active Vision-Based Robotic Systems
with the SIGNAL Environment
[Marchand et al. 1998] : SIGNAL98
Cet article présente un environnement de programmation qui utilise le
langage SIGNAL; il permet d'implanter
les niveaux fonctionnels et exécutifs de robots basés sur la
vision. Il décrit tout
d'abord les caractéristiques requises pour ce type de systèmes, ainsi
qu'un inventaire d'autres environnement de programmation existant. Il
explique ensuite de quelle manière SIGNAL remplit les
caractéristiques énoncées : une méthode de programmation par flux de
données, une possibilité de programmation préemptive, et de
vérification formelle. Les systèmes considérés sont limités à ceux
basés sur la vision pour deux raisons : le langage SIGNAL ne gère pas
les interruptions (ou autres signaux asynchrones), et ne traite pas le
temps de manière dynamique. L'article présente ensuite une application
: un robot dont la tâche est d'explorer et reconstituer des
entassements d'objets cylindriques et polygonaux.
- RoboDaemon - A device independent, network-oriented, modular
mobile robot controller
[Dudek & Sim 2003] : ROBDAEMON03
Cet article présente Robodaemon, un environnement de programmation
pour des robots mobiles multi plate-formes qui a pour but
de faciliter le développement de prototypes de composants
logiciels. Il propose pour cela un niveau de programmation indépendant
de l'architecture matérielle, ainsi que des fonctions de
simulation, de contrôle et de commande. Il contient des pilotes pour
des robots mobiles existant, et peut aussi être étendu par des
plug-ins ou modules. L'article présente ensuite une courte description
de l'utilisation de cet environnement.
benjamin lussier
2004-04-16