Applications automatiques dans la société
(Robotique)
1 ère année master en automatique et informatique industrielle
Dr KELKOUL BAHIA
Chapitre 3
Les robots mobiles
Introduction
La robotique mobile est un domaine technologique dynamique et en pleine
expansion, qui intègre des avancées en robotique, intelligence artificielle (IA)
et capteurs pour créer des systèmes autonomes capables de se déplacer et
d'interagir de manière intelligente dans divers environnements.
Un robot est une machine équipée de capacités de perception, de décision et
d’action qui lui permettent d’agir de manière autonome dans son
environnement en fonction de la perception qu’il en a.
Introduction
FIGURE 3.1 – Schéma des interactions d’un robot avec son environnement. Selon
les approches, un modèle interne de l’environnement peut être utilisé ou non.
Les différents types de navigation
1. Les stratégies de navigation
Les stratégies de navigation permettant à un robot mobile de se déplacer pour
rejoindre un but sont extrêmement diverses.
Afin de situer les différentes méthodes de navigation que nous allons étudier
dans un contexte général, nous reprenons ici une classification établie par
Trullier et al. Cette classification a été établie en prenant en compte à la fois
les stratégies des robots et des animaux. Elle présente l’avantage de distinguer
les stratégies sans modèles internes et les stratégies avec modèle interne.
Les différents types de navigation
Cette classification comporte cinq catégories, de la plus simple à la plus
complexe :
1- Approche d’un objet :
cette capacité de base permet de se diriger vers un objet visible depuis la
position courante du robot. Elle est en général réalisée par une remontée de
gradient basée sur la perception de l’objet, comme dans l’exemple célèbre des
véhicules de Valentino Braitenberg qui utilisent deux capteurs de lumière pour
atteindre ou fuir une source lumineuse. Cette stratégie utilise des actions réflexes,
dans lesquelles chaque perception est directement associée à une action. C’est
une stratégie locale, c’est-à-dire fonctionnelle uniquement dans la zone de
l’environnement pour laquelle le but est visible.
Les différents types de navigation
Figure 3,2 Approche d’un objet
Les différents types de navigation
2- Guidage :
Cette capacité permet d’atteindre un but qui n’est pas un objet matériel directement
visible, mais un point de l’espace caractérisé par la configuration spatiale d’un
ensemble d’objets remarquables, ou amers, qui l’entourent ou qui en sont voisins. La
stratégie de navigation, souvent une descente de gradient également, consiste alors à se
diriger dans la direction qui permet de reproduire cette configuration. Cette capacité
semble utilisée par certains insectes, comme les abeilles , et a été utilisée sur divers
robots. Cette stratégie utilise également des actions réflexes et réalise une navigation
locale qui requiert que les amers caractérisant le but soient visibles.
Les différents types de navigation
3- Action associée à un lieu :
Cette capacité est la première capacité réalisant une navigation globale, c’est-à-
dire qui permette de rejoindre un but depuis des positions pour lesquelles ce but ou
les amers qui caractérisent son emplacement sont invisibles par exemple, Elle
requiert une représentation interne de l’environnement qui consiste à définir des
lieux comme des zones de l’espace dans lesquelles les perceptions restent similaires,
et à associer une action à effectuer à chacun de ces lieux (figure).
Les différents types de navigation
FIGURE 3.1 – Action associée à un lieu.
En chaque lieu, représenté par un cercle, l’action à accomplir pour rejoindre le but A est représentée par
une flèche indiquant la direction à suivre à partir de ce lieu. Cette stratégie permet de rejoindre un but
distant dans l’environnement mais repose sur des chemins figés. Dans cet exemple, le chemin joignant le
lieu D au lieu A et passant par la droite de l’obstacle a été appris. Rejoindre le lieu A depuis le lieu D ne
pourra alors être réalisé que par ce chemin. Le raccourci empruntant le chemin de gauche, par exemple,
est inutilisable.
Les différents types de navigation
L’enchaînement des actions associées à chacun des lieux reconnus définit une
route qui permet de rejoindre le but. Ces modèles permettent donc une autonomie
plus importante mais sont limités à un but fixé. Une route qui permet de rejoindre
un but ne pourra en effet pas être utilisée pour rejoindre un but différent. Changer
de but entraînera l’apprentissage d’une nouvelle route, indépendante des routes
permettant de rejoindre les autres buts.
Les différents types de navigation
4- Navigation topologique (étude d’un lieu) :
cette capacité est une extension de la précédente qui mémorise dans le modèle
interne les relations spatiales entre les différents lieux. Ces relations indiquent la
possibilité de se déplacer d’un lieu à un autre, mais ne sont plus associées à un
but particulier. Ainsi le modèle interne est un graphe qui permet de calculer
différents chemins entre deux lieux arbitraires. Ce modèle ne permet toutefois
que la planification de déplacements parmi les lieux connus et suivant les
chemins connus ( figure 2.2).
Les différents types de navigation
ce but ou les amers qui caractérisent son emplacement sont invisibles. Elle requiert
une représentation interne de l’environnement qui consiste à définir des lieux
comme des zones de l’espace dans lesquelles les perceptions restent similaires, et à
associer une action à effectuer à chacun de ces lieux (cf. figure 2.1).
L’enchaînement des actions associées à chacun des lieux reconnus définit une route
qui permet de rejoindre le but. Ces modèles permettent donc une autonomie plus
importante mais sont limités à un but fixé. Une route qui permet de rejoindre un
but ne pourra en effet pas être utilisée pour rejoindre un but différent. Changer de
but entraînera l’apprentissage d’une nouvelle route, indépendante des routes
permettant de rejoindre les autres buts.
Les différents types de navigation
FIGURE 2.2 – Navigation topologique.
Cette stratégie permet de mémoriser un ensemble de lieux et les possibilités de passer de l’un à
l’autre, indépendamment de tout but.
Pour rejoindre un but, il faut alors une étape de planification qui permet de rechercher, parmi tous
les chemins possibles, le chemin rejoignant le but.
Dans notre exemple, le chemin le plus court entre D et A peut alors être calculé, mais uniquement
parmi les lieux et les chemins déjà connus. Cette stratégie permet, par exemple, de contourner
l’obstacle par la gauche mais ne permet pas de le traverser en ligne droite de D à A.
Les différents types de navigation
5- Navigation métrique :
cette capacité est une extension de la précédente car elle permet au robot de planifier
des chemins au sein de zones inexplorées de son environnement.
Elle mémorise pour cela les positions métriques relatives des différents lieux, en plus
de la possibilité de passer de l’un à l’autre. Ces positions relatives permettent, par
simple composition de vecteurs, de calculer une trajectoire allant d’un lieu à un autre,
même si la possibilité de ce déplacement n’a pas été mémorisée sous forme d’un lien
(figure 2.3).
Les différents types de navigation
FIGURE 2.3 – Navigation métrique. Cette stratégie permet de calculer le chemin le plus court entre
deux lieux mémorisés, permettant même de planifier des raccourcis au sein de zones inexplorées de
l’environnement. Pour cela, la carte mémorise la position métrique relative de chacun des lieux
visités par le robot. Ainsi il est possible de prévoir un déplacement entre deux lieux, même si la
possibilité de ce déplacement n’est pas enregistrée dans la carte. Dans cet exemple, cette stratégie
permet de d’aller du lieu A au lieu D en traversant la zone inexplorée.
Les différents types de navigation
Les modèles des trois premières catégories utilisent des actions réflexes pour
guider le robot et se différencient essentiellement par le type de perceptions
utilisées pour déclencher ces actions.
Ils se regroupent sous le terme générique de navigation réactive. Ils peuvent
être très simple, ne nécessitent pas de modèle global de l’environnement mais ont
un domaine d’application souvent restreint (enfermé).
Dans le monde vivant, ces stratégies sont très répandues, notamment chez les
insectes. Les comportements de ce type restent toutefois essentiels dans les robots
modernes car, du fait de leur simplicité, il sont généralement exécutés très
rapidement et ils permettent de réaliser des taches de bas-niveau, comme
l’évitement des obstacles imprévus, essentielles à la sécurité d’un robot.
Les différents types de navigation
Les modèles des deux dernières catégories autorisent pour leur part
une navigation globale et permettent de rejoindre un but arbitraire au
sein de l’environnement. Ils s’appuient pour cela sur un modèle interne
du monde, une carte, qui supporte une planification. Ce modèle interne
mémorise donc la structure spatiale de l’environnement,
indépendamment d’un but précis. Chacune des positions mémorisées
dans ce modèle interne peut alors être utilisée comme but par le
processus de planification dont le rôle est de calculer une route vers ce
but. Ce sont ces deux stratégies qui sont regroupées sous le terme de
navigation par carte.
Les différents types de navigation
Une telle représentation interne est naturelle pour les êtres humains,
pour lesquels des processus cognitifs de haut niveau sont utilisés pour
créer et utiliser une carte. Ces processus de haut niveau sont toutefois
très difficile à copier pour un robot réel qui ne dispose que de systèmes
rudimentaires de perception et de traitement des informations en
comparaison avec un homme.
Les différents types de navigation
Par exemple, en environnement urbain, le processus de mise
en correspondance de la carte avec l’environnement réel afin
de déterminer sa position fait souvent appel, pour l’homme, à
la lecture du nom des rues inscrit sur les bâtiments, ce qui est
relativement difficile à automatiser, à cause de la diversité des
configurations dans lesquelles peuvent ce trouver ces noms.
Les différents types de navigation
En robotique mobile, comme pour l’homme ou certains animaux,
l’utilisation de cartes est quasiment indispensable pour permettre d’effectuer des
tâches de navigation dans des conditions environnementales complexes, qui ne
sont pas spécialement adaptées pour le robot.
La construction et l’utilisation de telles cartes posent cependant de
nombreux problèmes, notamment pour garantir l’adéquation entre la carte et le
monde réel.
Pour cette raison, la plupart des robots trouvent aujourd’hui un compromis entre
une approche réactive et une approche utilisant une carte afin de bénéficier de la
rapidité et de la robustesse de la première et de la capacité de déplacement à
long terme de la seconde.
Les architectures de contrôle
Un robot est un système complexe qui doit satisfaire à des
exigences variées et parfois contradictoires.
Un exemple typique pour un robot mobile est l’arbitrage qui doit
être fait entre l’exécution la plus précise possible d’un plan
préétabli pour atteindre un but et la prise en compte d’éléments
imprévus, tels que les obstacles mobiles.
l’arbitrage; analyse des comportement
Les architectures de contrôle
Ces arbitrages, que ce soit au niveau du choix de stratégie, ou au
niveau de l’utilisation des capteurs, des effecteurs ou des ressources
de calcul, sont réglés par un ensemble logiciel appelé architecture de
contrôle du robot.
Cette architecture permet donc d’organiser les relations entre les trois
grandes fonctions : la perception, la décision et l’action .
Les architectures de contrôle
Selon cette définition de Ronald Arkin :
Une architecture doit donc être conçue pour un robot précis, mais en
utilisant des modules génériques. De manière plus générale il existe
également des règles de conception relativement générales qui
permettent de réaliser ces implémentations.
En fonction de ces règles, les architectures de contrôle peuvent être
classées en trois grandes catégories que nous détaillerons par la suite :
les contrôleurs hiérarchiques, les contrôleurs réactifs et les contrôleurs
hybrides (Figure 3.5). Comme le précise cette définition, toutes ces
architectures ne diffèrent pas forcement par les méthodes élémentaires
employées mais plutôt par leur agencement et leur relations.
Les architectures de contrôle
FIGURE 3-5 – Illustration des architectures classiques des contrôleurs pour les robots mobiles :
Hiérarchique (A), Réactive (B) et Hybride (C
Les architectures de contrôle
2.1 Contrôleurs Hiérarchiques
Historiquement, les premiers robots mobiles dérivés des recherches
en intelligence artificielle utilisaient des contrôleurs hiérarchiques
(voir figure suivante) dont le fonctionnement repose essentiellement
sur la capacité de décision travaillant sur un modèle du monde
supposé quasiment-parfait.
Les architectures de contrôle
Ces architectures fonctionnent selon un cycle rigide de modélisation
de l’environnement, planification des actions au sein de cette
représentation, puis exécution du plan.
La capacité de décision était issue des premiers travaux en
intelligence artificielle et reposait essentiellement sur des traitements
de données symboliques.
Ces architectures ont rapidement montré leurs limites et leur
incapacité à fonctionner dans un environnement qui ne soit pas
statique et simplifié à l’extrême.
Les architectures de contrôle
Contrôleurs Hiérarchiques
Les architectures de contrôle
L’essentiel des problèmes de ces architectures provient de l’utilisation
d’un modèle interne central qui est le seul pris en compte pour guider
le robot.
Elles se trouvent confrontées à tout les problèmes des premiers
développements de l’intelligence artificielle symbolique.
Les architectures de contrôle
Ces architectures supposent premièrement qu’un modèle informatique
du monde puisse représenter toutes les informations pertinentes pour le
déplacement du robot.
Or un tel modèle ne peut être suffisant dans un environnement
dynamique car au moment de la réalisation de l’action l’environnement
peut avoir suffisamment changé pour que la décision ne soit plus valide.
Les architectures de contrôle
Ce problème était particulièrement crucial (important) au début de la
robotique mobile ou les capacités de calcul limitées entraînaient des
temps de planification de l’ordre de plusieurs dizaines de minutes.
Mais l’augmentation des capacités de calcul ne suffit pas à résoudre ce
problème qui ne permet pas de gérer un environnement de travail
réaliste.
C’est un problème intrinsèque (propre) lié d’une part à la trop grande
longueur de la boucle qui relie la perception à l’action et d’autre part à
l’invalidité de l’hypothèse de monde fermé faite en intelligence
artificielle
Les architectures de contrôle
De plus, ces architectures permettent peu de contrôle sur l’exécution
des actions. En effet, une fois l’action choisie, elle est exécutée en
supposant le modèle du monde correct et il n’y a pas de retour direct de
la perception sur l’exécution de l’action.
Les écarts modèles/environnement ne peuvent être pris en compte que
via un nouveau cycle perception/modélisation/planification, ce qui, par
définition, est très peu réactif et conduit rapidement à de graves
problèmes.
Les architectures de contrôle
2.2.2 Contrôleurs réactifs
Rodney Brooks a proposé une solution radicale à tous ces problèmes sous la
forme d’une architecture réactive (figure suivante). Dans cette architecture,
un ensemble de comportements réactifs, fonctionnant en parallèle, contrôle le
robot sans utiliser de modèle du monde.
Cette architecture supprime évidemment les problèmes dûs aux différences
entre la réalité, d’une part, et le modèle de l’environnement du robot, d’autre
part, mais limite clairement les tâches que peut effectuer le robot pour une
critique). En effet, sans représentation interne de l’état de l’environnement, il
est très difficile de planifier une suite d’actions en fonction d’un but à
atteindre.
Les architectures de contrôle
Contrôleurs réactifs
Les architectures de contrôle
Les robots utilisant cette architecture sont donc en général efficaces pour la
tâche précise pour laquelle ils ont été conçus, dans l’environnement pour
lequel ils ont été prévus, mais sont souvent difficiles à adapter à une tâche
différente.
Les réussites de ces architectures sont liées au couplage direct entre la
perception et l’action qui permet une prise en compte très rapide des
phénomènes dynamiques de l’environnement.
donc une bonne robustesse dans des environnements complexes.
Les architectures de contrôle
Comme nous l’avons mentionné, ces architectures sont en général basées sur
plusieurs comportements : évitement d’obstacles, déplacement aléatoire,
déplacement vers un but, fuite d’un point... Pour guider le robot, il faut donc
choisir à chaque instant lequel de ces comportements activer.
Ce problème est connu dans la littérature scientifique sous le nom de
sélection de l’action.
La solution proposée par Brooks, l’architecture de subsomption est devenue
un classique et utilise une hiérarchie des comportements qui se déclenchent
donc selon un ordre de priorité en fonction des perceptions du robot.
Les architectures de contrôle
Une architecture de subsomption comporte plusieurs modules, chaque module étant
responsable de la réalisation d'une tâche simple. Ces modules correspondent à des
comportements spécifiques pour accomplir une tâche particulière, et s'appellent
modules de compétence.
On peut voir cette architecture, dans un premier temps, comme ayant la structure
des agents réactifs, figure 1, où l'agent a plusieurs composantes de décision,
chaque composante correspondant à un module de l'architecture de subsomption.
Pour la perception de l'environnement, plusieurs modules peuvent assumer
l'exécution d'une action différente ; pour choisir l'action la plus opportune, les
modules sont organisés en couches hiérarchisées, chaque couche ayant une priorité
différente.
Les architectures de contrôle
Les couches supérieures correspondent à des tâches plus abstraites qui sont
détaillées à l'aide des tâches plus concrètes et plus simples, les couches
supérieures ayant une priorité plus petite que les couches inférieures. Les
couches inférieures correspondent aux tâches simples et elles ont une
priorité plus grande. La figure suivante montre une telle architecture.
Les architectures de contrôle
architecture de subsomption
Les architectures de contrôle
Les architectures de contrôle
2.2.3 Contrôleurs hybrides
La plupart des contrôleurs actuellement utilisés choisissent une solution intermédiaire
entre ces deux approches sous la forme d’une architecture hybride (voir figure).
Cette architecture se compose de deux niveaux: Le premier est chargé des tâches de
navigation de haut niveau, telles que la localisation, la cartographie et la planification.
Pour cela, il s’appuie sur un second niveau réactif qui est chargé d’exécuter les
commandes avec le plus de précision possible et de gérer les éléments non modélisés
de l’environnement tels que les obstacles inconnus ou dynamiques. L’action conjointe
de ces deux niveaux permet de réagir rapidement face aux variations imprévues de
l’environnement, tout en permettant la réalisation d’actions planifiées à plus long
terme.
Les architectures de contrôle
Contrôleurs hybrides
Les architectures de contrôle
Le bas niveau de ces architectures peut être réalisé sous forme de
comportements, tels que ceux utilisés dans les architectures réactives.
Ces comportements sont des boucles sensorimotrices qui relient les
action aux perceptions avec une phase de décision très courte, qui
assure la réactivité.
Dans le même temps, les informations sensorielles sont utilisées par
le haut niveau dans une boucle sensorimotrice à une échelle de temps
beaucoup plus longue. C’est la mise en parallèles de ces deux
échelles de temps qui fait la force de ces architectures.