Contribution à l'optimisation d'un comportement collectif pour un groupe de robots autonomespar Amine BENDAHMANE Université des Sciences et de la Technologie d'Oran Mohamed Boudiaf - Doctorat en informatique - Intelligence Artificielle 2023 |
CHAPITRE 3Cette section présente PyRoboticsLab : un nouvel outil de simulation dédié au bench-marking des algorithmes de navigation, de planification de chemins, ainsi que l'exploration de zones en utilisant un ou plusieurs robots. Ce simulateur est disponible en open source sur le lien cité en bas de page 1. 3.2.1 Motivations pour la création d'une nouvelle plateforme de simulation De nombreux simulateurs modernes ont été introduits par la communauté robotique ces dernières années [72] [37] [31] [60]. Ces simulateurs offrent un grand degré de fidélité au monde réel qui leur permet d'entrainer des algorithmes d'intelligence artificielle avec une grande précision avant de les déployer en production [31]. Toutefois, pour atteindre ce degré élevé de fidélité, il faut effectuer des calculs complexes, ce qui entraine des charges élevées en termes de mémoire et de puissance du processeur, même pour les petites expériences. Ceci est un facteur de frein pour la portabilité et le passage à l'échelle des applications. Certains chercheurs tentent de surpasser ces limites en utilisant des services Cloud [94]. Néanmoins, cette mise à l'échelle implique des frais supplémentaires et affecte négativement la reproductibilité de l'ensemble du projet. D'autre part, les simulateurs modernes ont tendance à être de plus en plus polyvalents, ce qui rend leurs bases de code difficiles à comprendre et à maintenir. De nombreux projets 1. https :// github.com/amineHorseman/PyRoboticsLab FIGURE 3.1 - Exemple d'un simulateur moderne basé sur un moteur de jeux vidéos pour l'entraînement des voitures autonomes [31] 83 open source souffrent de la difficulté de trouver de nouveaux contributeurs en raison de leur courbe d'apprentissage croissante [4]. Cela crée une barrière psychologique pour les étudiants et les jeunes développeurs, tout en décourageant les chercheurs trop occupés à les utiliser pour prototyper de nouvelles idées [4]. Souvent, ces chercheurs finissent par mettre en oeuvre des environnements simplifiés et personnalisés pour leurs expériences afin d'ob-tenir des résultats rapides, ce qui rend difficile la comparaison de leurs algorithmes avec d'autres approches puisque chaque article utilise des données, une structure d'environne-ment ou des critères d'évaluation différents. Afin de standardiser l'évaluation des algorithmes dans certaines problématiques de robotique, nous avons développé un nouveau simulateur spécialement conçu pour évaluer les performances des algorithmes de navigation, de planification de chemins, d'exploration, et d'optimisation dans des environnements de type grille. Notre simulateur est dédié à la simulation d'un type spécifique de scénarios et ne vise pas à remplacer les simulateurs modernes polyvalents. Il nécessite moins de ressources CPU et de mémoire; peut simuler une centaine de robots dans un ordinateur portable ordinaire sans carte graphique; et est conçu pour être facile à utiliser et à porter vers différents systèmes d'exploitation, ce qui convient plus à un usage éducatif ou pour accélérer les expériences de recherche dans les axes cités ci-haut. 3.2.2 Les objectifs de conception Avant de pouvoir établir l'architecture du système, nous devons d'abord fixer les objectifs de conception de notre simulateur. La liste ci-dessous décrit les caractéristiques souhaitées pour notre cas d'études: Modularité Le simulateur doit offrir plusieurs modules agencés de façon à pouvoir facilement ajouter, modifier ou étendre les fonctionnalités d'un module sans affecter les autres. Ceci permet par exemple d'ajouter de nouveaux types de capteurs, de nouveaux algorithmes de planification, ou modifier le fonctionnement de base du système de navigation. Le but est d'augmenter l'extensibilité du projet, et faciliter la maintenance et la mise à jour de la plateforme au fil du temps. Flexibilité Le simulateur doit être suffisamment flexible pour s'adapter à différents types de problèmes d'optimisation et d'algorithmes de contrôle. Cela inclut la possibilité de : -- Modéliser différentes formes de fonctions objectif. -- Définir différents scénarios d'expérimentation. -- Paramétrer la position des obstacles. 84 |
|