Date de parution
26/05/2008Sommaire du document
Document publié sous licence Creative Commons
Voir la thématique
Mots-clés
Commander les robots
Un jour, peut-être, les robots seront si évolués qu’il sera nécessaire d’en « commander » les bataillons au sens militaire du terme... Heureusement, nous n’en sommes pas là, et le verbe « commander » doit ici être compris au sens de l’automatique. Il s'agit de synthétiser et mettre en œuvre des algorithmes mathématiques pour permettre à un système physique de se comporter comme le désire son opérateur. Et c'est déjà tout un programme !
1. Quelle commande pour quels robots ?
Commander un robot, fort modestement, consiste ici à s’intéresser à la seule exécution des consignes (notion que nous préciserons par la suite), c’est-à-dire sans faire référence à une quelconque intelligence ou autonomie décisionnelle du robot.
![]() |
| Deux robots mobiles expérimentaux.
À gauche, un robot mobile à roues ; à droite, un hexapode. © INRIA - CNRS Photothèque / Photo R. Lamoureux |
Mais le monde des robots est peuplé de nombreuses espèces qui diffèrent par leur taille (du nano-robot à l’engin de chantier), leur structure, et donc par les mouvements qu’ils sont susceptibles d’effectuer, par exemple pour se déplacer. Ainsi, un robot mobile à roues ou à chenilles ne se pilotera pas de la même façon qu’un hexapode, un quadrupède ou un humanoïde.
Si, comme dans la nature, le problème de la locomotion des robots a donné lieu à des solutions conceptuellement extrêmement différentes, le mouvement des bras chez les robots s’effectue au contraire à l’aide d’un petit nombre de structures mécaniques articulées généralement assez semblables. C'est pourquoi nous nous intéresserons exclusivement à celles-ci au cours de ce petit voyage dans le monde de l’automatique, périple qui nous permettra d’admirer au passage quelques jolis paysages dans les domaines de la géométrie, de la mécanique classique et des équations différentielles.
Bouger les bras
Il existe différentes raisons qui nous font exécuter des mouvements avec les bras, de façon volontaire ou non : par exemple s’équilibrer en marchant, faire des signes de la main, attraper un ballon, se protéger d’une chute, écrire, jouer d’un instrument... La dextérité, la force, la précision, la vitesse requises sont à chaque fois différentes, et, pourtant, ce sont les mêmes dispositifs qui sont utilisés à chaque fois : bras et mains, affublés parfois d’un « outil » externe supplémentaire, et cela, avec une admirable et optimale utilisation des ressources disponibles, muscles, squelette et sens.
La commande d’un bras de robot, même si ce dernier est moins mobile qu’un bras humain, sera soumise au même impératif : comment utiliser au mieux un dispositif donné pour réaliser des tâches suffisamment variées ? Dans le cas d’un robot, ce problème sera résolu simplement en tentant de séparer explicitement les deux aspects : d’une part, spécifier une « tâche » à effectuer dans un espace adéquat, et d’autre part, faire bouger un système mécanique articulé en connaissant ses propriétés dynamiques. Commençons donc par ce dernier aspect.
Qu'est-ce qu'un bras de robot ?
![]() |
| Robot RX90 Stäubli.
© INRIA / Photo A. Eidelman |
Sur le plan technologique, un bras de robot classique est constitué d’un assemblage de segments reliés par des articulations, elles-mêmes généralement motorisées. Les robots industriels (parfois appelés bras manipulateurs) distinguent souvent la partie « porteur », qui réalise de grands déplacements dans l’espace, de la partie « organe terminal », constituée de préhenseurs ou d’outils amovibles, installés sur un poignet articulé.
Les liaisons sont des articulations soit rotoïdes (elles permettent d'effectuer un mouvement de rotation autour d’un axe), soit prismatiques (elles permettent un mouvement de translation le long d’un axe). Les « muscles » du robot, ses actionneurs, utilisent une énergie électrique, hydraulique ou pneumatique, et les forces et mouvements produits par les moteurs sont transmis aux articulations par divers dispositifs : réducteurs à engrenages, vis à billes, bielles, courroies ou tout autre système issu de l’imagination fertile des concepteurs.
Dans la terminologie de la mécanique, un bras de robot constitue une chaîne cinématique, qui peut être simple (les articulations se suivent une à une, comme dans le bras humain), ou arborescente (il existe des branches indépendantes, comme les doigts dans une main), ou même présenter des boucles, c’est-à-dire des sous-ensembles mécaniques refermés sur eux-mêmes (comme c'est le cas pour ma lampe de bureau).
Mais quelle que soit l’architecture considérée, et avant même de vouloir faire bouger ce robot, il importe de savoir comment le repérer, c’est-à-dire caractériser d'une manière géométrique sa position et sa relation à la tâche à accomplir. Et ce n’est pas aussi simple que l’on pourrait le croire.
Ainsi, lorsque je me penche pour ramasser la pomme que je viens de faire tomber, mon corps adopte une certaine forme, la « posture », qui est la solution d’un calcul d’optimisation réalisé implicitement par mon système nerveux. Et si je suis perclus de rhumatismes, la posture adoptée sera certainement différente de celle choisie si je suis champion de France de gymnastique, alors que la tâche effectuée est identique. Ceci montre qu’en l’espèce, il existe plusieurs solutions au problème posé. Il apparaît ainsi à nouveau la nécessité de séparer la spécification de ce problème de sa résolution par un système robotique.
Une question de configuration
Intéressons-nous donc en premier lieu à la question de la posture. Pour un robot, la posture sera appelée « configuration ». Qu’est-ce donc que la configuration ? D’une façon générale, la configuration d’un système est la valeur de ses paramètres de position, et l’espace de configuration (noté Ec) est l’ensemble des positions possibles dudit système.
Nous voilà assez peu avancés avec cette définition ! Prenons plutôt quelques exemples :
- Soit un point matériel dans l’espace. Sa position dans un repère fixe est donnée par 3 coordonnées, par exemple, si l’on utilise un GPS, la latitude, la longitude et l’altitude. Son espace de configuration théorique est donc l’espace tridimensionnel, appelé ℝ3 (facile : ℝ pour indiquer un nombre réel et 3 pour la dimension !).
- Prenez la souris sans fil de votre ordinateur. D’abord, pour ce qui est du spot sur l’écran, c’est simple : si
l’écran est plat et en faisant abstraction de la résolution, sa position peut être repérée par deux valeurs :
par exemple, sa distance horizontale par rapport au bord gauche de l’écran et sa distance verticale par rapport au bord inférieur ; son Ec est donc de dimension 2 et n’est autre que ℝ2 ; mais comme le spot ne peut pas sortir de l’écran, cet Ec est en fait un sous-ensemble de ℝ2.
Et la souris elle-même ? Si l’on oublie un instant sa fonction de souris, il s’agit d’un objet rigide potentiellement libre dans l’espace, un peu comme un avion. Donc son Ec (de même que celui de l’avion) comporte deux parties : la position, comme pour le point matériel, soit ℝ3, et, ce qui est nouveau, l’orientation. Celle-ci comporte trois dimensions de rotation, qui peuvent être nommées par exemple, pour reprendre l’image aéronautique, le roulis, le tangage et le lacet. L’espace associé est noté par les mathématiciens SO(3).Pour le lecteur qui n’a pas le mal de mer, on résumera l’espace de configuration complet d’un objet physique capable de se déplacer et de s’orienter librement dans l’espace par la formule : Ec = ℝ3 × SO(3), soit une dimension 6 au total.
Bon, mais la souris vole mal, et sa vocation est de se promener sur un tapis, dit de souris, justement... Son mouvement est donc restreint par le fait qu’elle doit rester dans le morceau de plan que constitue le tapis. Son espace de travail réel est de ce fait une portion de ℝ2, mais que l’on peut voir maintenant comme un sous-espace de ℝ3 × SO(3) (une souris libre comme l’air) défini par les contraintes de sa fonction de souris (reste sur le tapis !).
Finalement, dans le cas d’un bras de robot, on a affaire à une suite de corps, chacun avec au départ un espace de configuration propre de dimension 6, les contraintes réduisant ces espaces étant cette fois engendrées par les articulations qui relient les corps.
Faites l'expérience : construisez un bras articulé.
Durée : 2 min 18 s.
Un exemple illustre cela dans la vidéo ci-contre.
Résumons-nous à présent. Un bras articulé de robot, s’il doit positionner et orienter un corps dans l’espace, doit avoir six degrés de liberté actionnés. S’il est fixé au sol, il devra donc avoir au moins six articulations. Pour la suite, nous supposerons donc que notre bras de robot type a six articulations actionnées, disposées de façon à atteindre un sous-ensemble de ℝ3 × SO(3) qui est son espace de travail, limité par la structure du robot. Cet espace est de dimension 6 (on aura généralement trois articulations dédiées au positionnement de l’organe terminal et trois à son orientation).
Mais comment, en pratique, repérer son espace de configuration, en choisir les paramètres ? En fait, il suffit de choisir n’importe quel ensemble de six variables indépendantes liées au système ! Le plus simple consiste à choisir directement les coordonnées articulaires, qui seront donc nos six variables à commander, et de les rassembler dans un vecteur noté q.

