CHAPITRE 1
Ce genre de systèmes nécessitent toutefois
l'utilisation d'un grand nombre d'agents puisqu'il y aura très peu
d'intérêts à diviser un petit groupe en plusieurs petites
équipes. Une complexité de coordination s'ajoute à cela
puisque chaque noeud ne possède qu'une partie de l'état global du
système, il est donc impératif que les noeuds centraux
échangent entre eux les informations de manière
régulière afin d'éviter le chevauchement entre les
tâches réalisées par chaque équipe.
Une autre utilité de ce genre d'architecture est de les
utiliser dans des scénarios de collaboration entre plusieurs types de
robots. Chaque équipe sera constituée par un type de robots et
sera coordonnée par un leader qui prend en considération les
capacités des membres de son équipe.
Système distribué
Dans un système distribué, il n'existe pas de
notion d'agent central ou de leader. Chaque noeud communique avec ses voisins
et décide des tâches qu'il devra accomplir, il est donc totalement
indépendant des autres noeuds, ce qui renforce la robustesse du
système puisque celui-ci reste opérationnel tant qu'il y a au
moins un robot en service. De plus, il n'y a pas l'obligation de disposer d'un
serveur central pour combiner les données.
Cette architecture se caractérise par une communication
limitée et une prise de décision au niveau local, ce qui permet
d'agrandir la taille du groupe sans avoir besoin d'augmenter les performances
des robots ou le débit du réseau. Elle est souvent
utilisée dans le cas des essaims de robots (swarm of robots)
où l'objectif est de déployer un grand nombre de petits robots
avec des capacités limitées, dans le but de faire émerger
un comportement plus intelligent pour réaliser des tâches
complexes. L'idée de base tourne donc autour de la mise à
l'échelle (scalability) du système multirobots tout en
augmentant sa robustesse.
Le principal inconvénient d'un système
distribué est la dispersion de l'information. En effet, chaque robot ne
possède qu'une vue très limitée de l'état de la
mission. Un robot peut communiquer avec d'autres robots qui ne sont pas dans
son voisinage en passant par d'autres robots qui joueront le rôle de
relais, mais ceci induira nécessairement à une certaine latence
entre l'envoi d'un message et sa réception. Afin de pallier à ces
inconvénients, les chercheurs se tournent souvent vers la
synchronisation implicite entre les agents et éliminent la
nécessité de communiquer entre eux, un exemple peut être
trouvé dans les applications de déploiement de capteurs où
chaque robot calcule la distance entre les capteurs déployés par
ses voisins et adapte sa propre position en conséquence. Un autre
exemple se trouve dans les applications de déplacement en groupe ou les
robots adaptent leurs vitesses et directions selon la vitesse moyenne et
direction de leurs voisins.
Le tableau 1.1 résume les différentes entre ces
trois types d'architectures.
1.3.4 Classification par autonomie
Les systèmes multirobots peuvent aussi être
classifiés par type d'autonomie:
27
TABLE 1.1 - Comparaison entre les architectures des
systèmes multirobots
Type d'architecture
|
Centralisée
|
Décentralisée
|
Distribuée
|
Dépendance au noeud central
|
Elevée
|
Moyenne
|
Basse
|
Latence de communica- tion
|
Basse
|
Basse
|
Elevée
|
Robustesse
|
Basse
|
Moyenne
|
Elevée
|
Simplicité de coordina- tion et
synchronisation
|
Très facile
|
Relativement fa- cile
|
Difficile
|
Mise à l'échelle
|
Limitée
|
Limitée
|
Sans limite
|
Disponibilité de l'infor- mation
|
Regroupée dans
le noeud central
|
Répliquée dans
les noeuds centraux
|
Dispersée
|
Adaptabilité au change- ment
d'objectifs
|
Facile
|
Relativement fa- cile
|
Difficile
|
Système autonome
Un système autonome est un système totalement
indépendant de l'intervention de l'être humain. Il est responsable
d'affecter les tâches, les réaliser, faire le suivi de
l'avancement de la mission et regrouper les informations collectées par
chaque robot.
Le rôle de l'être humain pendant la mission se
limite donc dans la mise en marche ou l'arrêt du système, et
l'intervention en cas de dysfonctionnement.
Les systèmes autonomes sont souvent utilisés
dans des environnements contrôlés impliquant des risques
limités. Les scénarios les plus communs sont l'automatisation des
chaines de production industrielles, la gestion des entrepôts de
marchandises, et le nettoyage de surfaces.
Système semi-autonome
Un système semi-autonome possède une certaine
dépendance à l'être humain, qui jouera un rôle plus
ou moins important selon la nature de la mission. L'opérateur humain
pourra effectuer des tâches de suivi par exemple, de redéfinition
des priorités pendant la mission, ou encore le contrôle manuel du
robot leader. Les autres robots devront donc s'adapter automatiquement aux
décisions de l'opérateur humain; ils jouent un rôle de
support/assistants.
On retrouve ce genre d'organisation dans les scénarios
où l'intervention de l'être hu-
28
|