Accueil > Connaissance > Tutoriels academiques > Quelles sont les singularités dans un bras robotique à six axes?

Quelles sont les singularités dans un bras robotique à six axes?

By Ilian Bonev, Ph.D., Eng.

Si vous avez l’intention d’utiliser un bras robotique à six axes, tel que le Meca500 de Mecademic, l’exemple présenté dans ce tutoriel, vous devrez probablement faire plus que simplement positionner et orienter l’effecteur final du robot dans diverses poses. Vous aurez probablement aussi besoin que l’effecteur final suive des trajectoires prescrites, comme pour l’application de colle ou l’insertion d’une broche. Si tel est le cas, vous devez alors vous informer sur les singularités du robot, car ces configurations particulières entraveront souvent les mouvements cartésiens de l’effecteur final. Vous devez donc savoir comment éviter les singularités du robot en concevant correctement votre cellule robotique.
En général, il est impossible de franchir une singularité du poignet lorsque le robot est contrôlé dans l’espace cartésien

Un robot industriel peut être contrôlé dans deux espaces : l’espace des articulations et l’espace cartésien. Il existe donc deux ensembles de commandes de mouvement en mode position qui permettent à un robot industriel de se déplacer. Pour les commandes de mouvement dans l’espace des articulations (parfois incorrectement appelées commandes point à point), vous spécifiez simplement — directement ou indirectement — un ensemble souhaité de positions des articulations, et le robot se déplace en traduisant ou en faisant pivoter chaque articulation vers la position souhaitée, simultanément et de manière linéaire. Pour les commandes de mouvement dans l’espace cartésien, vous spécifiez une pose désirée (position et orientation) pour l’effecteur final ET un chemin cartésien souhaité (linéaire ou circulaire). Pour déterminer les positions des articulations nécessaires le long du chemin cartésien souhaité, le contrôleur du robot doit calculer la cinématique inverse de position et de vitesse du robot. Les singularités apparaissent lorsque ce calcul échoue (par exemple, en cas de division par zéro), et elles doivent donc être évitées.

Essayez de déplacer un bras robotisé à six axes dans l’espace des articulations, et le robot ne s’arrêtera que lorsqu’une articulation atteindra une limite ou lorsqu’il y aura une interférence mécanique. En revanche, essayez de déplacer le même robot dans l’espace cartésien, et il s’arrêtera fréquemment et refusera d’aller dans certaines directions, bien qu’il semble être loin de ce que vous pensez être la limite de l’espace de travail. Une singularité du robot est une configuration dans laquelle l’effecteur final du robot devient bloqué dans certaines directions.
« Une singularité de robot est une configuration dans laquelle l’effecteur final du robot devient bloqué dans certaines directions. »
Tout bras robotique à six axes (également appelé robot en série ou manipulateur en série) présente des singularités. (En fait, le terme correct est six degrés de liberté, mais restons-en au terme populaire et non scientifique de six axes). Certains bras robotiques présentent des singularités qui sont extrêmement faciles à identifier. D’autres bras robotiques présentent des singularités impossibles à décrire sans recourir à des formules longues et complexes. La complexité et les types de singularités d’un bras robotisé dépendent du nombre d’articulations, de leur type (linéaire ou rotatif) et de leur disposition géométrique.
Comme les singularités détériorent considérablement les performances d’un bras robotique industriel, il faut apprendre à les identifier et ne jamais s’en approcher, lors de l’utilisation des commandes de mouvement dans l’espace cartésien. Sur certains robots, comme le Meca500 de Mecademic, il est possible de se déplacer à travers les singularités et d’étendre ainsi l’espace de travail du robot. Dans ces robots, vous devez soit éviter les singularités, soit les affronter intelligemment.

Singularités des robots comme dégénérescences dans la cartographie de la vitesse

Considérons l’exemple le plus trivial suivant, celui de l’étage de positionnement à six axes illustré ci-dessous, composé d’une pile de trois guides linéaires orthogonaux ainsi que de trois étages de rotation, dont les axes se croisent en un point. Le point central de l’outil (TCP) est situé à ce point d’intersection et l’effecteur est représenté par le cadre de référence de l’outil illustré sur la figure. Ce robot cartésien peut amener son TCP n’importe où à l’intérieur du cuboïde jaune et orienter son effecteur dans n’importe quelle direction. Il peut également déplacer continuellement son effecteur le long de n’importe quelle trajectoire 6D à l’intérieur de cet espace de travail … sauf lorsque les axes des articulations 3 et 6 coïncident, comme dans la configuration de droite. Cette dernière condition correspond à la seule singularité que présente ce bras robotisé à six axes (elle inclut également le cas qui se présente lorsque la position de l’articulation 5 est décalée de 180°).
Un robot cartésien à six axes dans une configuration non singulière (à gauche) et dans une configuration singulière (à droite).

Dans une singularité, un robot ne peut pas déplacer son effecteur dans certaines directions. Dans cet exemple particulier, le robot dans la configuration de droite ne peut faire tourner son effecteur autour d’aucun axe qui soit normal aux axes des trois articulations tournantes (qui deviennent coplanaires dans une singularité). Cette singularité spécifique est également connue sous le nom de «gimbal lock».
« Lors d’une singularité, l’effecteur d’un bras robotisé perd un ou plusieurs degrés de liberté. »
Lors d’une singularité, l’effecteur d’un bras robotisé perd un ou plusieurs degrés de liberté. La singularité d’un robot est un blocage physique, et non une sorte de problème mathématique abstrait, même si nous disposons d’une explication mathématique simple. Les singularités des bras robotiques à six axes peuvent être expliquées par l’équation cinématique de la vitesse inverse suivante :

= J−1v,

v = [, , , ωx, ωy, ωz]T

est le vecteur vitesse cartésien de l’effecteur final, q̇ est le vecteur des vitesses des articulations et J est une matrice 6×6 appelée matrice jacobienne. La matrice jacobienne est une fonction des positions des articulations (q) et de la géométrie du robot. Lorsque cette matrice devient singulière (à certaines positions des articulations), l’équation ci-dessus n’est pas définie et il devient impossible de trouver les vitesses des articulations pour certains vecteurs de vitesse cartésiens. En d’autres termes, l’effecteur terminal du robot est bloqué dans certaines directions, et nous disons que le robot se trouve dans une singularité.
« Le problème des singularités n’est pas seulement l’impossibilité de les franchir (dans le cas de la plupart des robots industriels), mais aussi les vitesses articulaires élevées qui résultent du passage à proximité de ces singularités. »
Le problème des singularités n’est pas seulement l’impossibilité de les franchir (dans le cas de la plupart des robots industriels), mais aussi les vitesses articulaires élevées qui résultent du passage à proximité de ces singularités. On dit qu’un robot est proche d’une singularité lorsque le déterminant de sa matrice jacobienne est proche de zéro, ce qui produit l’effet d’une division par un très petit nombre. Des vitesses articulaires aussi élevées peuvent être inattendues et poser des problèmes de sécurité dans le cas de robots industriels rapides et de grande taille. En outre, lorsque l’on suit une trajectoire cartésienne spécifique et que l’on passe à proximité d’une singularité, les vitesses réalisables de l’effecteur final sont considérablement réduites. Enfin, la précision de la trajectoire d’un robot commandé dans l’espace cartésien se détériore considérablement à proximité des singularités.

Les singularités du robot comme limites de l’espace de travail interne

Les singularités des robots ne sont pas seulement des configurations dans lesquelles la cinématique inverse de la vitesse échoue : dans une singularité, les équations cinématiques inverses de la position d’un robot dégénèrent également. Pour une position souhaitée de l’effecteur final, les robots à six axes comme le Meca500 peuvent généralement avoir jusqu’à huit solutions différentes pour les positions des articulations, correspondant à la même position de l’effecteur final, comme le montre le schéma ci-dessous. (Un nombre encore plus important de solutions est possible si l’on tient compte du fait que l’articulation 6 est souvent illimitée, mais limitons-la à une rotation complète pour les besoins de la discussion sur les singularités). Ces huit solutions différentes correspondent à huit types de configuration différents. Pour changer de type de configuration, il faut passer par une singularité (voir l’image du haut dans ce tutoriel). Ainsi, comme nous l’expliquons dans notre tutoriel sur l’espace de travail, l’espace de travail cartésien d’un bras robotique à six axes typique est composé de huit sous-ensembles 6D de poses. Les limites de chacun de ces sous-ensembles 6D correspondent aux limites des articulations et aux interférences mécaniques. Les limites entre ces sous-ensembles 6D correspondent aux singularités. À proprement parler, cependant, ces dernières ne sont pas vraiment des frontières mais des passages de dimension inférieure. En d’autres termes, le robot peut passer d’un de ces sous-ensembles 6D à l’autre, mais uniquement si l’effecteur final suit certaines trajectoires. (Rappelons que dans une singularité, l’effecteur du robot ne perd généralement qu’un seul degré de liberté).
Exemple de pose d’un effecteur correspondant à huit ensembles différents de positions articulaires

Les trois types de singularité dans un bras robotisé à articulation verticale et partitionné au niveau du poignet

The vast majority of six-axis industrial robots consist of six revolute joints arranged as in the Meca500. Namely, the axes of joints 2 and 3 are parallel, the axes of joints 1 and 4 are normal to the axes of joints 2 and 3, the axis of joint 5 is normal to the axes of joints 4 and 6, and these last three axes intersect at one point. This architecture is often referred to as a vertically-articulated robot arm. It was first adopted in the PUMA robot developed by Unimation in 1978. Furthermore, robot arms in which the axes of the last three joints intersect at one point are referred to as wrist‑partitioned or as having inline wrists. One of the main advantages of this popular architecture is that the mathematical equations describing its kinematics are fairly simple. Paint robots do not have inline wrists, because the offsets between the axes allow the robot to have greater orientation capabilities. Many so-called collaborative robots, too, do not have inline wrists, but we will consider these special robots later.
Singularité du poignet
La singularité la plus fréquemment rencontrée dans les bras robotisés à articulation verticale avec poignets en ligne est la singularité du poignet. Elle se produit lorsque les axes des articulations 4 et 6 coïncident. Dans la plupart des robots, cette condition correspond à θ5 = 0°. Dans la figure ci-dessous, la configuration du milieu correspond à une singularité du poignet, tandis que les deux autres correspondent à deux ensembles différents de types de configuration. Dans la configuration de gauche, nous avons la condition dite de non-retournement (θ5 > 0°) tandis que, dans la configuration de droite, nous avons la condition de retournement (θ5 < 0°).
Singularité du poignet (au centre) et conditions de non-retournement (à gauche) et de retournement (à droite)

Dans une singularité du poignet, l’effecteur ne peut pas suivre de manière ininterrompue diverses trajectoires cartésiennes. Considérons, par exemple, la figure la plus haute de ce tutoriel, où un robot traverse une singularité du poignet tout en déplaçant son effecteur le long d’une ligne. Dans cet exemple, pour traverser la singularité du poignet et conserver la configuration du poignet (par exemple, pour ne pas faire de flip), il faudrait que les articulations 4 et 6 tournent simultanément de 90° dans des directions opposées, au niveau de la singularité. Ainsi, il est physiquement possible de franchir une singularité du poignet tout en se déplaçant le long d’une trajectoire cartésienne donnée, mais, à la singularité, l’effecteur peut devoir rester immobile pendant que les articulations 4 et 6 tournent. En d’autres termes, il est généralement impossible pour l’effecteur de franchir la singularité sans s’arrêter.

Dans une singularité de poignet, il existe une infinité de solutions à la cinématique de position inverse du robot. Si {θ1, θ2, θ3, θ4, θ5, θ6} est une solution, alors {θ1, θ2, θ3, θ4 – β, θ5, θ6 + β} est également une solution, où β est un angle arbitraire.
Elbow singularity
Le deuxième type de singularité dans les bras de robots articulés verticalement avec des poignets en ligne est la singularité du coude. Elle se produit lorsque le centre du poignet (le point où les axes des articulations 4, 5 et 6 se croisent) se trouve sur le plan passant par les axes des articulations 2 et 3. On peut dire que, dans une singularité du coude, le bras est complètement étiré. (En raison d’interférences mécaniques, la plupart des bras de robots ne peuvent pas être complètement pliés, ce qui constituerait l’autre singularité du coude). La singularité d’un coude est déterminée uniquement par la position de l’articulation 3. Par exemple, dans le Meca500, la singularité du coude se produit lorsque θ3 = -arctan(60/19) ≈ -72,43°.
Singularité du coude (centre) et conditions d’élévation du coude (gauche) et d’abaissement du coude (droite)

Dans la figure ci-dessus, la configuration du milieu correspond à une singularité du coude tandis que les deux autres correspondent à deux ensembles différents de types de configuration. Dans la configuration de gauche, nous avons la condition dite du coude vers le haut (θ3 > -arctan(60/19)) tandis que, dans la configuration de droite, nous avons la condition du coude vers le bas (θ3 < -arctan(60/19)).

Dans une singularité de coude, deux ensembles de solutions cinématiques de position inverse dégénèrent en un seul. Cette singularité est la moins inattendue et est facile à éviter.
Singularité de l’épaule
Le troisième et dernier type de singularité dans les bras robotisés à articulation verticale avec poignets en ligne est la singularité de l’épaule. Elle se produit lorsque le centre du poignet du robot se trouve dans le plan passant par les axes des articulations 1 et 2 (ou par l’axe de l’articulation 1 et parallèlement à l’axe de l’articulation 2). Dans le Meca500, le centre du poignet du robot se trouve directement sur l’axe de l’articulation 1 dans une singularité de l’épaule. Cette singularité est la plus complexe car elle ne dépend pas de la position d’une seule articulation, contrairement aux deux autres.
Singularité de l’épaule (centre) et conditions avant (gauche) et arrière (droite)

In the above figure, the middle configuration corresponds to a shoulder singularity whereas the two others correspond to two different sets of configuration types. In the left configuration, we have the front condition whereas, in the right configuration, we have the back condition. Of course, a mathematical formula determines these two conditions, but it is a bit complex and will not be presented here.
Passage par une singularité de l’épaule

Dans une singularité d’épaule, le robot ne peut pas se déplacer dans la direction de l’axe de l’articulation 2. Prenons l’exemple de la figure ci-dessus, où l’on voit un robot traverser une singularité d’épaule tout en conservant sa configuration (c.-à-d. frontale). Dans cette situation particulière, l’articulation 1 doit tourner de 180° (les articulations 4, 5 et 6 doivent également tourner), tandis que l’effecteur final reste immobile. Il est donc physiquement possible de franchir une singularité d’épaule et de maintenir les paramètres de configuration inchangés tout en suivant une ligne mais, à la singularité, l’effecteur final reste immobile tandis que certaines des articulations tournent. Cependant, l’effecteur terminal du robot peut suivre la même trajectoire linéaire sans aucune interruption, si nous autorisons un changement dans le paramètre de configuration avant/arrière.

Dans une singularité d’épaule, il existe une infinité de solutions à la cinématique de position inverse du robot. Malheureusement, il n’existe pas de formule simple pour exprimer ces solutions.
Configurations et récapitulation
Notez que vous pouvez avoir des configurations de singularité qui appartiennent à deux des trois types de singularité, ou même aux trois.

Notez également qu’un type de configuration est défini par l’ensemble des trois paramètres de configuration (conditions) décrits ci-dessus, à savoir {flip/no-flip, coude en l’air/coude en bas, avant/arrière}. Le passage d’un type de configuration à un autre nécessite le franchissement d’une singularité.

Enfin, les trois types de singularité présents dans les bras robotiques articulés verticalement avec des poignets en ligne sont illustrés dans la vidéo ci-dessous. Notez que dans la séquence où le robot passe près d’une singularité de poignet, la valeur minimale de θ5 est de 0,2° – c’est-à-dire extrêmement proche d’une singularité de poignet. De même, dans la séquence illustrant la singularité du coude, la valeur de θ3 oscille rapidement de ±12° autour de la valeur singulière de θ3 ≈ -72,43°, mais l’effecteur est presque stationnaire.

Types de singularités dans un robot collaboratif à six axes typique (cobot)

Comme nous l’avons déjà mentionné, la plupart des robots dits collaboratifs n’ont pas une architecture de type PUMA. En effet, la grande majorité des cobots à six axes sur le marché ont la même disposition de six articulations tournantes que l’UR3 d’Universal Robots, pris ici comme exemple. A savoir, les axes des articulations 2, 3 et 4 sont parallèles, l’axe de l’articulation 1 croise et est normal à l’axe de l’articulation 2, et l’axe de l’articulation 5 croise et est normal aux axes des articulations 4 et 6.
Types de singularités dans le bras typique d’un robot collaboratif : singularités du poignet (à gauche), du coude (au centre) et de l’épaule (à droite).

Ces cobots ont également un problème simple de cinématique de position inverse permettant jusqu’à huit solutions différentes. Cependant, les singularités de ces cobots sont un peu différentes. La singularité du poignet (figure de gauche ci-dessus) se produit lorsque les axes des articulations 4 et 6 deviennent parallèles. Dans l’UR3, cela correspond à θ5 = 0°, θ5 = ±180° ou θ5 = ±360°. En outre, dans une singularité du poignet, le mécanisme composé des articulations 2, 3, 4 et 5 peut se déplacer tandis que l’effecteur final reste stationnaire. La singularité du coude se produit lorsque les axes des articulations 2, 3 et 4 sont coplanaires, comme le montre la figure du milieu ci-dessus. Dans l’UR3, cela correspond à θ3 = 0°. Enfin, la singularité de l’épaule se produit lorsque le point d’intersection des axes des articulations 5 et 6 se trouve dans le plan passant par les axes des articulations 1 et 2, comme le montre la figure ci-dessus à droite. Dans une singularité d’épaule, les deux solutions possibles pour θ1 se rejoignent. Contrairement au bras robotique typique à six axes, il n’y a pas de mouvement d’articulation qui aboutisse à un effecteur final stationnaire.

Les trois types de singularité des robots sont illustrés dans cette vidéo préparée par mon équipe de recherche à l’ÉTS.

Cependant, il faut noter qu’il existe plusieurs modèles populaires de robots collaboratifs à six axes qui ressemblent à l’architecture décrite ci-dessus, mais qui sont très différents. La cinématique inverse de ces cobots n’a pas de solution analytique et il n’existe pas de description géométrique des singularités du cobot. En outre, il existe plusieurs modèles de cobots à sept axes. Les singularités de ces cobots sont complètement différentes des singularités d’un robot PUMA à six axes ou des singularités de l’architecture cobot décrite dans cette section.

Comment éviter ou affronter les singularités des robots ?

Maintenant que vous savez quelles configurations de robot sont singulières, la question est de savoir comment les éviter. Malheureusement, les singularités des robots ne peuvent être évitées qu’en concevant correctement votre cellule robotique (ce qui inclut la conception de la plaque d’adaptation de votre effecteur final). Si vous avez mal assigné l’emplacement de votre pioche de manière à ce qu’il corresponde à une singularité du poignet, par exemple, vous ne pouvez pas faire grand-chose pour résoudre votre problème. Il ne vous reste plus qu’à espérer que la pose souhaitée puisse également être obtenue avec une autre configuration non singulière, comme illustré dans la figure ci-dessous.
Pose de l’effecteur correspondant à une configuration singulière (à gauche) et non singulière (à droite) du robot

Il convient toutefois de noter que si, pour une pose donnée, le centre du poignet d’un robot de type PUMA se trouve sur l’axe de l’articulation 1 ou est situé à la distance la plus proche possible de cet axe, le robot se trouvera dans une singularité de l’épaule dans toutes les solutions possibles (infiniment nombreuses) de la cinématique inverse. De même, pour les robots de type PUMA dont les axes des articulations 1 et 2 se croisent, si une pose donnée peut être atteinte dans une singularité de coude, toutes les solutions de la cinématique inverse pour cette pose correspondront également à une singularité de coude.

Certains fabricants de robots proposent des options d’évitement des singularités qui permettent à l’effecteur terminal du robot de s’écarter légèrement de la trajectoire cartésienne souhaitée afin d’éviter une singularité. Ces options sont très utiles si la déviation ne vous dérange pas, c’est-à-dire si votre robot n’est pas en train de coller ou d’assembler, mais simplement de s’éloigner ou de s’approcher d’une cible. Grâce à cette déviation, le mouvement de l’effecteur est ininterrompu et plus fluide.

En revanche, chez Mecademic, nous nous en tenons à la trajectoire cartésienne souhaitée, même lorsque nous traversons des singularités, même si cela peut signifier que l’effecteur final s’arrêtera pendant une seconde ou deux avant de continuer. Évidemment, pour de nombreuses trajectoires cartésiennes, on ne peut toujours pas faire de collage, par exemple, mais on peut faire de l’assemblage.

Cependant, il existe de nombreuses trajectoires cartésiennes traversant des singularités qui peuvent être suivies sans aucune déviation de la trajectoire. Par exemple, le Meca500 de la sous-figure de gauche ci-dessus n’a aucun problème à déplacer son effecteur le long de la direction négative de l’axe z de l’outil, traversant ainsi une singularité du poignet et de l’épaule, sans aucune interruption. Ce mouvement est également illustré dans la vidéo ci-dessous. Permettre à un robot de franchir des singularités tout en se déplaçant en mode cartésien donne accès à plusieurs sous-ensembles 6D de l’espace de travail du robot. Il devient ainsi possible de suivre des trajectoires linéaires plus longues ou d’effectuer des réorientations plus importantes.


En conclusion, gardez à l’esprit les singularités du robot lors de la conception de votre cellule robotisée.Accordez une attention particulière à la conception de la plaque d’adaptation de votre effecteur final. Si vous n’avez pas besoin de six degrés de liberté pour positionner et orienter votre effecteur (par exemple, si vous découpez au laser ou insérez des goupilles rondes), tirez parti de votre degré de liberté redondant pour vous éloigner des singularités.Enfin, envisagez d’utiliser un logiciel de programmation et de simulation hors ligne tel que RoboDK, qui peut s’avérer très utile pour vérifier les singularités du robot.

© Mecademic. La reproduction de ce tutoriel, en tout ou en partie, est strictement interdite.