WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Contribution à  l'optimisation d'un comportement collectif pour un groupe de robots autonomes


par Amine BENDAHMANE
Université des Sciences et de la Technologie d'Oran Mohamed Boudiaf - Doctorat en informatique - Intelligence Artificielle 2023
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

CHAPITRE 3

Python est un langage de programmation interprété, créé avec l'intention d'offrir une syntaxe simple et facile à apprendre. Toutefois, ceci ne réduit en rien sa puissance puisqu'il est versatile et peut être utilisé pour créer des plateformes web, logicielles, applications mobiles, et systèmes embarqués. Son interpréteur permet d'exécuter le même code sur des systèmes d'exploitation différents sans nécessiter une modification dans le code source ou sa recompilation.

L'utilisation de Python pour développer un outil de recherche nous permet de tirer profit de la puissance des librairies disponibles pour le calcul scientifique. Afin de respecter les objectifs définis par l'architecture globale du système, nous avons réduit l'utilisation des dépendances externes aux trois librairies suivantes:

-- Numpy : Est la librairie Python de référence lorsqu'il s'agit de calcul scientifique et manipulation de tableaux multidimensionnels. Elle offre une multitude de routines pour les calculs d'algèbre linaires, opérations de tri, statistiques, nombres aléatoires, manipulation de dates...etc. Nous utilisons Numpy dans notre plateforme pour gérer toutes les opérations de calcul matriciel nécessaires pour les opérations de cartographie et la manipulation des populations.

-- Matplotlib : Est une librairie destinée à la création de visualisations scientifiques, telles que les graphes, les histogrammes, les nuages de points...etc. Elle permet de générer des figures interactives hautement personnalisables, et exporter les résultats sous différents formats. Nous utilisons Matplotlib dans notre projet pour la génération de l'interface utilisateur permettant de visualiser la position des robots, les obstacles détectés, les chemins planifiés, ainsi que les différentes statistiques et cartes d'exploration générées par les robots.

-- Pygmo2 [19] : Est une librairie réalisée par l'Agence Spatiale Européenne offrant une interface pour implémenter des algorithmes d'optimisation massivement parallèles. Elle supporte des fonctionnalités avancées telles que la parallélisation des métaheu-ristiques, le tri de populations, la visualisation des solutions non dominées (Pareto front)...etc. Nous utilisons cette librairie pour uniformiser l'implémentation des mé-taheuristiques que nous utilisons pour résoudre les problèmes d'exploration et de planification de trajectoires. Cette uniformisation est un aspect important pour notre projet puisqu'elle permet de s'assurer que la différence entre les résultats expérimentaux des algorithmes n'est pas causée par une différence entre les techniques d'im-plémentation utilisées à bas niveau par les librairies.

L'intégration d'un nombre réduit de libraires Python permet de faciliter la portabilité du code et minimiser les dépendances. Ceci offre les avantages suivants:

-- Facilité à comprendre, déboguer ou modifier le code source de la plateforme d'afin d'y intégrer les changements souhaités.

-- Facilité d'installation et de configuration, à la différence de nombreux simulateurs qui sont plus concentrés sur des environnements Linux et les systèmes de type UNIX.

-- Possibilité d'intégration avec les librairies d'apprentissage machine populaires, pour

l'ajout de fonctionnalités additionnelles tel que le Deep Learning par exemple.

89

-- Possibilité de déployer rapidement le projet en tant que service web dans un serveur Cloud pour une utilisation ouverte au public.

-- Facilité à ajouter un nouvel algorithme et comparer ses performances avec les autres algorithmes déjà implémentés sur la plateforme.

Nous pensons que ces caractéristiques sont un atout pour permettre son adoption par les étudiants et les enseignants comme outil pédagogique et de recherche.

3.2.5 Les scénarios de bechmarking

La plateforme de benchmarking proposée permet de simuler les scénarios suivants:

-- Path Planning : Planification de trajectoires.

-- Exploration : Découverte, balayage, surveillance, détection d'intrus.

-- Target Searching : Rechercher une personne ou un objet.

-- Foraging : Déplacement et tri d'objets.

-- Map Decomposition : décomposition d'environnement en plusieurs régions.

-- Formation Control : Coordination pour le déplacement en formation de plusieurs robots.

3.3 Modélisation géométrique des robots

Le simulateur PyRoboticsLab se base sur une représentation géométrique en 2 dimensions des robots mobiles. Il simule les robots terrestres à commande différentielle ainsi que

(a) Robot P3DX utilisé (b) Schéma géométrique [68]

FIGURE 3.4 - Modélisation géométrique du robot et des différents repères utilisés pour la détection d'obstacles

90

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Et il n'est rien de plus beau que l'instant qui précède le voyage, l'instant ou l'horizon de demain vient nous rendre visite et nous dire ses promesses"   Milan Kundera