Les défis et solutions en robotique sont au cœur de cette recherche innovante, qui révèle comment une approche inspirée des insectes peut transformer la couverture d’environnements inconnus. Les résultats expérimentaux promettent des avancées significatives, essentielles pour l’avenir des systèmes autonomes.
Réalisation
Dans cette partie, nous présenterons les différentes étapes de réalisation de notre projet qui a pour objectif d’implémenter un algorithme qui permet la couverture d’un environnement pour rechercher un ensemble de cibles dont les positions sont inconnus à l’avance, en utilisant seulement des agents réactifs simple, qui ont la possibilité de marqué et de coloré leurs environnement pour assurer une couverture plus rapide de l’environnement.
Nous présenterons d’abord l’environnement de programmation (Java), ensuite nous exposons les différents étapes de simulation, nous présenterons par la suite les résultats obtenus et nous terminerons par une discussion de ces différents résultats.
Avant d’aller plus loin dans les simulations, plusieurs paramètres doivent être discutés :
Choix des paramètres
Pour assurer l’efficacité et la robustesse de notre proposition, plusieurs paramètres doivent être traités, ces paramètres influence de façon directe les résultats obtenus, il y a pas de méthode claire qui permet la fixation de ces paramètres, et donc une suite de simulation basé sur la variation à la fois de chacun de ces paramètres sera discuté plus loin dans ce chapitre
pour déduire quel est le paramètre qui influencera le résultat et quelle est la valeur adéquate pour que le résultat soit optimale la suite de ces paramètres est donné comme suit :
- La taille de l’environnement : Nous avons utilisés des environnements carrés avec une taille variable ;
- La densité des obstacles (pourcentage):est aléatoire, et sont disséminés de façon aléatoire dans l’environnement, un choix au préalable du pourcentage des obstacles doit être fixé avant la simulation. Durant les simulations, on va consacrer toute une partie sur la variation de ce paramètre et son influence sur la robustesse de notre algorithme ;
- Le nombre de cibles : c’est fixé selon le choix de l’utilisateur.
- Le nombre des agents : le choix ce fait de façon aléatoire, les agents sont homogènes, et ils commencent tous de la base, l’agent a la possibilité de porter à la fois une quantité Qlimite-source, c’est un paramètre très importante dans nos simulations.
Environnement de programmation
Parler de l’implémentation revient à détailler l’aspect matériel, l’environnement de développement et les différents outils qui ont été utilisé pour réaliser l’application.
Aspect matériel
Notre projet a été développé sur un pc :
Type : Presario CQ56 Netbook PC
Processeur : Pentium Dual-Core CPU T4500 @ 2.30GHz 2 .30GHz. RAM : 2,00 GO
Disque dure : 395,9 GO
Environnement de développement
L’application réalisée a été implémentée avec le langage JAVA version 4.2 sous l’environnement Eclipse JUNO (version 2013).
Pour quoi Java ?
Contrairement à d’autre langage, la simplicité de java est en fait directement liée à la simplicité du problème à résoudre.
Ainsi, un problème de définition de l’interface utilisateur peut être un véritable casse-tête avec certains langages, avec java, crée des fenêtres, des boutons et des menus est toujours d’une simplicité extrême, ce qui laisse au programmeur la possibilité de se concentrer sur son problème à résoudre.
- Java est un environnement complet qui offre des flexibilités et des possibilités importantes ;
- Java est un langage relativement simple à apprendre et lire ;
- Java offre une probabilité grâce à la machine virtuelle (JVM) ;
- très adéquat pour le développement des agents comme des objets autonome et mobile.
- C’est un langage orienté objet dérivé du C, mais plus simple que C.
- Il est multiplateforme : tous vos programmes tournent sans modification sur toutes les plateformes où existe Java.
- Il est doté en standard d’une riche bibliothèque de classes, comprenant la gestion des interfaces graphiques (fenêtres, boites de dialogue, contrôles, menus, graphisme…), la programmation multithreads (multitâches), la gestion des exceptions, les accès aux fichiers et au réseau (notamment Internet)… etc.
Présentation de l’application
L’interface graphique principale de cette application englobe un ensemble de composants à partir des quels on peut exploiter notre système, la figure ci-dessous montre cette interface et ses différentes parties.
[11_defis-et-solutions-pour-exploration-robotique_23]
Figure 3.1 : Interface principale
Régénérer l’environnement
Vitesse de simulation
Compteur des itérations
Caractéristique des agents
Caractéristique de l’environnemen
L’exploitation de notre application est très simple, la fenêtre se compose de deux menus : le menu fichier permettant la création de l’environnement et de quitter l’application (Figure IV.3); et le menu simulation permettant de lancer la simulation (avec les paramètres déjà choisit), de suspendre, de reprendre ou de lancer une nouvelle simulation
[11_defis-et-solutions-pour-exploration-robotique_24]
Pour quitter l’application
Réinitialiser le traitement
Création de l’environnemen
Figure 3.2 : Création d’environnement
[11_defis-et-solutions-pour-exploration-robotique_25]
Figure 3.2 : Création d’environnement(a)
[11_defis-et-solutions-pour-exploration-robotique_26]
Figure3.2 : Création d’environnement(b)
[11_defis-et-solutions-pour-exploration-robotique_27]
Figure3.2 : Création d’environnement(c)
[11_defis-et-solutions-pour-exploration-robotique_28]
Figure 3.2 : Création d’environnement(d)
Pour reprendre la simulation
Pour suspender la simulation
Pour démarrer la simulation
Figure 3.3: Lancer la simulation
[11_defis-et-solutions-pour-exploration-robotique_29]
[11_defis-et-solutions-pour-exploration-robotique_30]
Figure 3.4: Division de l’environnement selon le paramètre de rayon de carré
La création de l’environnement c’est-à-dire la fixation des différents paramètres dans la figure 3.5 Doit être faite avant de lancer la simulation.
Questions Fréquemment Posées
Quels sont les défis de l’exploration robotique dans des environnements inconnus ?
Les défis incluent la couverture d’environnements inconnus par des robots autonomes, la gestion des obstacles, et la détermination des cibles dont les positions sont inconnues à l’avance.
Comment l’algorithme SMRSA améliore-t-il la couverture des environnements ?
L’extension de l’algorithme SMRSA prend en compte l’observabilité locale totale et les coupures de communication, ce qui améliore les performances par rapport à l’algorithme MRSAM original.
Quel environnement de programmation a été utilisé pour le projet d’exploration robotique ?
Le projet a été développé en Java, sous l’environnement Eclipse JUNO, en raison de la simplicité et de la flexibilité qu’offre ce langage pour le développement d’agents autonomes.