Conception et développement de contrôleurs de robots (une méthodologie basée sur les composants logiciels)

Abstract

L'un des problèmes majeurs rencontrés par la robotique est celui du développement d'architectures logicielles de contrôle des robots. Ceci s'explique par la complexité sans cesse croissante de ces architectures, qui doivent intégrer toujours plus de fonctionnalités de divers niveaux d'abstraction (de planification, d'asservisssement, de perception, de gestion des modes de fonctionnement, etc.) et qui nécessitent la prise en compte du caractère temps-réel du contrôle. Par ailleurs, les fonctionnalités s'appuyant, directement ou non, sur un ensemble d'éléments matériels embarqués sur le robot, une architecture doit pouvoir être adaptée en fonction de l'évolution technologique (nouveaux capteurs et actionneurs, remplacement d'éléments de la partie opérative, etc.). L'enjeu actuel est donc de définir et intégrer des fonctionnalités sous forme de briques logicielles réutilisables au sein d'architectures de contrôle évolutives, de manière à simplifier le développement. Après avoir fait un tour d'horizon des propositions actuelles, le manuel présente CoSARC, une méthodologie originale couvrant l'intégralité du processus de développement d'un contrôleur de robot. La méthodologie est basée sur un modèle d'architecture et sur un langage à composants. Inspiré des propositions historiques d'architectures hybrides, le modèle d'architecture constitue la base du processus de développement. Il définit une organisation générique intégrant une vision hiérarchique du contrôle et il s'appuie sur des concepts abstraits indépendants de tout domaine d'application, tel que celui de ressource . La construction d'une architecture est réalisée en fonction du modèle et à l'aide des éléments d'un langage à composants. Ces éléments correspondent à différentes catégories de composants : composants de représentation dédiés à la description des connaissances sur le monde du robot, composants de contrôle dédiés à la description des activités du robot, composants connecteurs dédis à la description des protocoles régissant les interactions entre composants de contrôle, composants de configuration dédiés à la description d'une architecture et de son déploiement. Un des aspects essentiels de certains de ces composants réside dans le fait que leur comportement est exprimé sous la forme d'un réseau de Petri à Objets. L'expressivité et la pertinence de la méthodologie sont démontrés sur un exemple traitant du développement d'un robot manipulateur mobile.One of the major problems encountered in robotics is that of the development of robot control software architectures. This is explained by the increasing complexity of these architectures, which must integrate more and more functionalities of various levels of abstraction (planification, asserves, mode management, perception, etc.) and which require to manage the real-time aspect of robot control. In addition, the functionalities being based on a set of technological elements embedded in the robot, an architecture has to be adapted according to the technological development (replacement of robot operative part elements, new sensors or actuators, etc.). The current challenge is thus to define and to integrate functionalities in the form of reusable software bricks within evolutionary control architectures, so as to simplify robot controllers design. After having made a review of the current proposals, the handbook presents CoSARC, an original methodology covering the entirety of the development process of a robot software controller. The methodology is based on a control architecture model and a component-based language. Inspired of the historical proposals for hybrid architectures, the control architecture model constitutes the base of the development process. It defines a generic organization integrating a hierarchical vision of the control and it is based on abstract concepts independent of any application domain. The definition of an architecture is done according to the control architecture model, with the elements of a component-based language. These elements correspond to various categories of components : representation components dedicated to the description of the controller knowledge on the world it has to control, control components dedicated to the description of the activities of the robot, connection components dedicated to the description of the protocols governing the interactions between control components, configuration components dedicated to the description of the architecture and its deployment. One of the essential aspects of some of these components resides in the fact that their behavior is expressed in the form of an Object Petri net. The expressivity and the relevance of methodology are shown through a example of a mobile manipulator robot.MONTPELLIER-BU Sciences (341722106) / SudocSudocFranceF

    Similar works

    Full text

    thumbnail-image

    Available Versions

    Last time updated on 14/06/2016