Ease the development of robotic applications
Faciliter le développement des applications de robotique
Abstract
One of the challenges of robotics is to manage a large number of variability. The latter concerns the concepts related to hardware and software in the field of robotics. Therefore, the development of robotic applications is a complex task. Not only it requires mastery of low-level details of the hardware and software but also if we change the used hardware in an application, this would impact the code. The use of model-driven engineering in this context is a promising way to (1) manage low-level dependency problems through stable models and (2) facilitate the development of applications through automatic code generation to target platforms . Domain Specific Modeling Languages implement the model driven engineering technologies to represent the domain concepts and enable experts to manipulate concepts they are used to use. However, these concepts are not sufficient to represent all aspects of an application because they are very general. We would then use an approach to extract abstractions from concrete use cases and thus define abstractions with an operational semantics. The work of this thesis focuses on two main axes. The first concerns the contribution to the design of a domain specific modeling language for mobile robots (RobotML). We extract from a domain ontology concepts that roboticists have used to use to define their applications. These concepts are then represented through a graphical interface representation model to ensure ease of use for RobotML users. An automatic code generation from these models can then be performed to one or more target platforms. This contribution is enabled by setting implement an air scenario, in an unknown environment, proposed by ONERA. The second focus of this thesis attempts to define an approach to make the algorithms resistant to the change of low-level details. Our approach takes as input a description of a task and produces robotic : a set of non-algorithmic abstractions representing queries on environnment (including robot) or high-level actions, a set of algorithmic abstractions encapsulating a set of instructions to perform a sub-task of the studied task, a generic configurable algorithm defined according to these abstractions. Thus, the impact of changing hardware and strategies defined in the sub-tasks is not very important. Simply adapt the implementation of these abstractions without changing the generic algorithm. This approach is validated on six variants of a navigation algorithms family called Bug.
L'un des challenges des roboticiens consiste à gérer un grand nombre de variabilités. Ces dernières concernent les concepts liés au matériel et aux logiciels du domaine de la robotique. Par conséquent, le développement des applications de robotique est une tâche complexe. Non seulement, elle requiert la maîtrise des détails de bas niveau du matériel et du logiciel mais aussi le changement du matériel utilisé dans une application entraînerait la réécriture du code de celle-ci. L'utilisation de l'ingénierie dirigée par les modèles dans ce contexte est une voie prometteuse pour (1) gérer les problèmes de dépendance de bas niveau des applications des détails de bas niveau à travers des modèles stables et (2) faciliter le développement des applications à travers une génération automatique de code vers des plateformes cibles. Les langages de modélisation spécifiques aux domaines mettent en oeuvre les techniques de l'ingénierie dirigée par les modèles afin de représenter les concepts du domaine et permettre aux experts de celui-ci de manipuler des concepts qu'ils ont l'habitude d'utiliser. Cependant, ces concepts ne sont pas suffisants pour représenter tous les aspects d'une application car ils très généraux. Il faudrait alors s'appuyer sur une démarche pour extraire des abstractions à partir de cas d'utilisations concrets et ainsi définir des abstractions ayant une sémantique opérationnelle. Le travail de cette thèse s'articule autour de deux axes principaux. Le premier axe concerne la contribution à la conception d'un langage de modélisation spécifique au domaine de la robotique mobile (RobotML). Nous extrayons à partir d'une ontologie du domaine les concepts que les roboticiens ont l'habitude d'utiliser pour la définition de leurs applications. Ces concepts sont ensuite représentés à travers une interface graphique permettant la représentation de modèles afin d'assurer une facilité d'utilisation pour les utilisateurs de RobotML. On offre ainsi la possibilité aux roboticiens de représenter leurs scénarios dans des modèles stables et indépendants des plateformes cibles à travers des concepts qu'ils ont l'habitude de manipuler. Une génération de code automatique à partir de ces modèles est ensuite possible vers une ou plusieurs plateformes cibles. Cette contribution est validée par la mise en oeuvre d'un scénario aérien dans un environnement inconnu proposé par l'ONERA. Le deuxième axe de cette thèse tente de définir une approche pour rendre les algorithmes résistants aux changements des détails de ba niveau. Notre approche prend en entrée la description d'une tâche de robotique et qui produit : un ensemble d'abstractions non algorithmiques représentant des requêtes sur l'environnment y compris le robot ou des actions de haut niveau , un ensemble d'abstractions algorithmiques encapsulant un ensemble d'instructions permettant de réaliser une sous-tâche de la tâche étudiée , algorithme générique configurable défini en fonction de ces abstractions. Ainsi, l'impact du changement du matériel et des stratégies définies dans les sous-tâches n'est pas très important. Il suffit d'adapter l'implantation de ces abstractions sans avoir à modifier l'algorithme générique. Cette approche est validée sur six variantes d'une famille d'algorithmes de navigation appelée Bug.
Origin | Version validated by the jury (STAR) |
---|
Loading...