Development of the software architecture of a mobile robot
Bounar, Nadir
Promoteur(s) : Boigelot, Bernard
Date de soutenance : 24-jui-2024/25-jui-2024 • URL permanente : http://hdl.handle.net/2268.2/20386
Détails
Titre : | Development of the software architecture of a mobile robot |
Titre traduit : | [fr] Développement de l'architecture logicielle d'un robot mobile |
Auteur : | Bounar, Nadir |
Date de soutenance : | 24-jui-2024/25-jui-2024 |
Promoteur(s) : | Boigelot, Bernard |
Membre(s) du jury : | Mathy, Laurent
Sacré, Pierre |
Langue : | Anglais |
Nombre de pages : | 117 |
Mots-clés : | [fr] Robocup [fr] Computer Science [fr] Kernel [fr] C [fr] Software Architecture [fr] Humanoid Robot |
Discipline(s) : | Ingénierie, informatique & technologie > Sciences informatiques |
Public cible : | Chercheurs Professionnels du domaine Etudiants Grand public |
URL complémentaire : | https://gitlab.uliege.be/Macgyver/test.git |
Institution(s) : | Université de Liège, Liège, Belgique |
Diplôme : | Master en sciences informatiques, à finalité spécialisée en "management" |
Faculté : | Mémoires de la Faculté des Sciences appliquées |
Résumé
[en] This master's thesis focuses on building a software infrastructure for a unique form of humanoid robot, developed within the RoboCup competition framework. The primary aim was to integrate a real-time operating system, such as Preempt-RT, Xenomai, or RTAI, to minimize latency and optimize system performance. An appropriate Linux distribution was also chosen as the software development base. Following a thorough evaluation based on various criteria, including latency, Preempt-RT was selected as the real-time operating system, accompanied by the Fedora distribution, chosen for its minimal size.
The second part of this thesis concentrates on establishing efficient communication between electronic and software components. The chosen communication mode is USB (Universal Serial Bus), and results demonstrate satisfactory data transfer between these components.
The third part involves implementing an event logging system, based on four selectable log levels by the user, enabling quick issue tracking and resolution during robot program execution. Recorded logs are detailed, including time down to the nanosecond, message level, content, as well as the relevant line and file. Users can select the base level, filtering logged messages into a file located in a specific directory.
Furthermore, robust interfaces for task creation and inter-task communication have been designed to meet future needs. The primary goal was to optimize the efficiency and responsiveness of information exchange, thus contributing to the overall robot performance. The task-related interface facilitates the creation of tasks, assigning priorities and periods as needed, and, if required, assigning them to a designated processor core. The second interface enables tasks to communicate with each other: if a task requires another task's content, it can request and receive it once available. During this content wait, the task is paused to conserve processor resources.
To conclude, this thesis has established a robust software infrastructure for a humanoid robot intended for the RoboCup competition. Through the selection of Preempt-RT and Fedora, system performance has been optimized. The use of USB for communication and the implementation of a logging system have also been validated. The interfaces created for task management and communication meet future needs for efficiency and responsiveness.
[fr] Cette thèse de master se concentre sur la construction d'une infrastructure logicielle pour une forme original de robot humanoïde, développée dans le cadre de la compétition RoboCup. L'objectif principal était d'intégrer un système d'exploitation temps réel, tel que Preempt-RT, Xenomai ou RTAI, afin de minimiser la latence et d'optimiser les performances du système. Une distribution Linux appropriée a également été choisie comme base de développement logiciel. Suite à une évaluation approfondie basée sur divers critères, dont la latence, Preempt-RT a été sélectionné comme système d'exploitation temps réel, accompagné de la distribution Fedora, choisie pour sa taille minimale.
La deuxième partie de cette thèse se concentre sur l'établissement d'une communication efficace entre les composants électroniques et logiciels. Le mode de communication choisi est l'USB (Universal Serial Bus), et les résultats montrent un transfert de données satisfaisant entre ces composants.
La troisième partie implique la mise en place d'un système de journalisation d'événe-ments, basé sur quatre niveaux de journal sélectionnables par l'utilisateur, permettant un suivi et une résolution rapides des problèmes lors de l'exécution du programme du robot. Les journaux enregistrés sont détaillés, incluant l'heure jusqu'à la nanoseconde, le niveau du message, son contenu, ainsi que la ligne et le fichier pertinents. Les utilisateurs peuvent sélectionner le niveau de base, filtrant ainsi les messages enregistrés dans un fichier situé dans un répertoire spécifique.
De plus, des interfaces robustes ont été conçues pour la création et la communication des tâches, afin de répondre aux besoins futurs. Elles visent principalement à optimiser l'efficacité et la réactivité des échanges d'informations, contribuant ainsi à la performance globale du robot. L'interface de gestion des tâches facilite leur création, permettant d'attribuer des priorités et des périodes si nécessaire, ainsi que de les affecter à des cœurs de processeur spécifiques. La seconde interface permet aux tâches d'interagir entre elles : lorsqu'une tâche requiert le contenu d'une autre, elle peut en faire la demande et le recevoir dès qu'il est disponible. Durant cette attente, la tâche est mise en pause pour économiser les ressources du processeur.
En conclusion, cette thèse a développé une infrastructure logicielle solide pour un robot humanoïde compétitif. La sélection de Preempt-RT et de Fedora a amélioré les performances du système, tandis que l'utilisation de l'USB et la mise en place d'un système de journalisation ont été confirmées. Les interfaces conçues pour la gestion des tâches et la communication anticipent efficacement les futurs besoins en termes d'efficacité et de réactivité.
Fichier(s)
Document(s)
Description:
Taille: 2.19 MB
Format: Adobe PDF
Annexe(s)
Description:
Taille: 104.33 kB
Format: Adobe PDF
Description:
Taille: 104.5 kB
Format: Adobe PDF
Citer ce mémoire
L'Université de Liège ne garantit pas la qualité scientifique de ces travaux d'étudiants ni l'exactitude de l'ensemble des informations qu'ils contiennent.