Que sont les singularités dans un bras robotisé à six axes ?

Share

Ilian Bonev, Ph.D., Eng.

 

 

Si vous avez l’intention d’utiliser un bras de robot à six axes, tel que Meca500 de Mecademic, l’exemple présenté dans ce didacticiel, 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 les chemins prescrits comme pour le collage ou lors de l’insertion d’une broche. Si tel est le cas, vous devez vous renseigner sur les singularités du robot, car ces configurations spéciales entraveront souvent les mouvements cartésiens de votre robot effecteur. Vous devez donc savoir vous tenir à l’écart des singularités robotiques en concevant correctement votre cellule robotisée.

In general, it is impossible to cross a wrist singularity when controlling the robot in Cartesian space
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 articulaire et l’espace cartésien. Par conséquent, il existe deux ensembles de commandes de mouvement en mode position qui font bouger un robot industriel. Pour les commandes de mouvement dans l’espace articulaire (parfois appelées à tort commandes point à point), vous spécifiez simplement – directement ou indirectement – un ensemble souhaité de positions articulaires, et le robot se déplace en déplaçant ou en faisant pivoter chaque articulation vers la position articulaire souhaitée, simultanément et de façon linéaire. Pour les commandes de mouvement dans l’espace cartésien, vous spécifiez une pose souhaitée pour l’effecteur terminal ET une trajectoire cartésienne souhaitée (linéaire ou circulaire). Pour trouver les positions d’articulation nécessaires le long de la trajectoire cartésienne souhaitée, le contrôleur de robot doit calculer la position inverse et la cinématique de vitesse du robot. Les singularités surviennent lorsque ce calcul échoue (par exemple, lorsque vous avez une division par zéro) et doivent donc être évitées.

Essayez de déplacer un bras de robot à six axes dans l’espace articulaire, et le seul moment où le robot s’arrêtera, c’est lorsqu’une articulation atteint une limite ou lorsqu’il y a une interférence mécanique. En revanche, essayez de déplacer le même robot dans l’espace cartésien et le robot 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é de robot est une configuration dans laquelle l’effecteur final du robot se bloque dans certaines directions.

« Une singularité de robot est une configuration dans laquelle l’effecteur final du robot se bloque dans certaines directions. »

Tout bras de robot à six axes (également appelé robot série ou manipulateur 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 de robot ont des singularités extrêmement faciles à identifier. D’autres bras robotiques présentent des singularités impossibles à décrire sans l’utilisation de formules longues et complexes. La complexité et les types de singularité dans un bras de robot dépendront du nombre d’articulations, de leurs types (linéaires ou rotatifs) et de leur disposition géométrique.

Étant donné que les singularités détériorent considérablement les performances d’un bras de robot industriel, vous devez apprendre à les identifier et à ne jamais vous en approcher lorsque vous utilisez des commandes de mouvement dans l’espace cartésien.

 

Les singularités de robot comme dégénérescences dans la cartographie de vitesse

Considérons l’exemple le plus trivial suivant, celui de l’étage de positionnement à six axes illustré ci-dessous, composé d’un empilement de trois guides linéaires orthogonaux ainsi que de trois étages de rotation dont les axes se coupent en un point. Laissez le point central de l’outil (TCP) se trouver à ce point d’intersection et laissez l’effecteur terminal être 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ù dans le cuboïde jaune et orienter son effecteur final dans n’importe quelle orientation. Il peut également déplacer en continu son effecteur le long de n’importe quel chemin 6D dans cet espace de travail… sauf lorsque les axes des deux articulations rotoïdes extrêmes coïncident, comme dans la configuration de droite. Cette dernière condition correspond à la seule singularité que possède 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°).

A six-axis Cartesian robot in a non-singular configuration (left) and in a singular one (right)
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 pas faire tourner son effecteur terminal autour d’un axe normal aux axes des trois articulations rotoïdes (qui deviennent coplanaires dans une singularité). Cette singularité spécifique est également connue sous le nom de verrou de cardan.

« A une singularité, un bras robotique perd un ou plusieurs degrés de liberté. »

A une singularité, un bras robotique perd un ou plusieurs degrés de liberté. Une singularité de robot est un blocage physique, pas une sorte de problème mathématique abstrait, bien que nous ayons une explication mathématique simple pour cela. Les singularités des bras de robot à six axes peuvent être expliquées avec l’équation cinématique de vitesse inverse suivante :

= J−1v,

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

est le vecteur vitesse cartésien de l’effecteur terminal, q̇ est le vecteur des vitesses articulaires et J est une matrice 6×6 appelée matrice jacobienne. La matrice jacobienne est fonction des positions des articulations (q) et de la géométrie du robot. Lorsque cette matrice devient singulière (à certaines positions articulaires), l’équation ci-dessus n’est pas définie et la recherche de vitesses articulaires pour certains vecteurs vitesse cartésiens devient impossible. Autrement dit, le robot se bloque dans certaines directions, et on dit qu’il est dans une singularité.

« Le problème avec les singularités n’est pas seulement l’impossibilité de les franchir, mais aussi les vitesses articulaires élevées résultant du passage à proximité. »

Le problème des singularités n’est pas seulement l’impossibilité de les franchir mais aussi les vitesses articulaires élevées résultant du passage à proximité. Un robot est dit proche de la singularité lorsque le déterminant de sa matrice jacobienne est proche de zéro, ce qui produit l’effet de division par un très petit nombre. De telles vitesses articulaires élevées peuvent être inattendues et peuvent poser des risques pour la sécurité dans le cas de gros robots industriels rapides. De plus, en suivant une trajectoire cartésienne spécifique et en passant à proximité d’une singularité, les vitesses réalisables des effecteurs finaux sont considérablement réduites. Enfin, du fait de problèmes de contrôle, la précision de trajectoire d’un robot piloté dans l’espace cartésien se dégrade significativement au voisinage des singularités.

 

Singularités de robot comme frontières internes de l’espace de travail

Les singularités de robot ne sont pas seulement des configurations dans lesquelles la cinématique de vitesse inverse échoue : dans une singularité, les équations cinématiques de position inverse d’un robot dégénèrent également. Pour une pose d’effecteur souhaitée, les robots à six axes comme le Meca500 peuvent généralement avoir jusqu’à huit solutions différentes pour les positions articulaires, correspondant à la même pose d’effecteur, comme indiqué ci-dessous. (Encore plus de solutions sont possibles si nous tenons compte du fait que l’articulation 6 est souvent illimitée, mais limitons-la à une rotation complète pour le plaisir de discuter des singularités). Ces huit solutions différentes correspondent à huit types de configuration différents. Changer un type de configuration nécessite de passer par une singularité (voir l’image du haut dans ce tutoriel). Ainsi, comme nous en discutons dans notre tutoriel sur l’espace de travail, l’espace de travail cartésien du bras de robot à six axes typique est composé de huit entités 6D. Les frontières entre ces entités correspondent à des singularités. Les limites restantes correspondent aux limites des joints (et autres interférences mécaniques).

An example of an end-effector pose corresponding to eight different sets of joint positions
Exemple de pose d’un effecteur correspondant à huit ensembles différents de positions articulaires

Les trois types de singularité dans un bras de robot à poignet cloisonné et articulé verticalement

La grande majorité des robots industriels six axes sont constitués de six articulations rotoïdes disposées comme dans le Meca500. A savoir, les axes des articulations 2 et 3 sont parallèles, les axes des articulations 1 et 4 sont normaux aux axes des articulations 2 et 3, l’axe de l’articulation 5 est normal aux axes des articulations 4 et 6, et ces trois derniers les axes se coupent en un point. Cette architecture est souvent appelée bras de robot articulé verticalement. Il a été adopté pour la première fois dans le robot PUMA développé par Unimation en 1978. De plus, les bras de robot dans lesquels les axes des trois dernières articulations se croisent en un point sont appelés poignets cloisonnés ou ayant des poignets alignés. L’un des principaux avantages de cette architecture populaire est que les équations mathématiques décrivant sa cinématique sont assez simples. Seuls les robots de peinture n’ont pas de poignets en ligne, car les décalages entre les axes permettent au robot d’avoir de plus grandes capacités d’orientation. De nombreux robots dits collaboratifs n’ont pas non plus de poignets en ligne, mais nous examinerons ces robots spéciaux plus tard.

 

Singularité du poignet

La singularité la plus fréquemment rencontrée dans les bras de robot articulés verticalement avec des poignets en ligne est la singularité du poignet. Cela 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é de poignet alors que les deux autres correspondent à deux ensembles différents de types de configuration. Dans la configuration de gauche, on a la condition dite de non-flip (θ5 > 0°) alors que, dans la configuration de droite, on a la condition de flip (θ5 < 0°).

Wrist singularity (center) and no-flip (left) and flip (right) conditions
Singularité du poignet (au centre) et conditions de non-retournement (à gauche) et de retournement (à droite)

Dans une singularité de poignet, l’effecteur ne peut pas suivre sans interruption différentes trajectoires cartésiennes. Considérez, par exemple, la figure la plus haute de ce didacticiel où un robot est représenté traversant une singularité du poignet, tout en déplaçant son effecteur le long d’une ligne. Dans cet exemple, en passant par la singularité du poignet, il faudrait que les articulations 4 et 6 tournent simultanément de 90° dans des directions opposées, à la singularité. Ainsi, traverser une singularité de poignet en se déplaçant selon un jectory cartésien donné est physiquement possible mais, au niveau de la singularité, l’effecteur peut avoir besoin de 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 des solutions infinies à 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.

Singularité du coude

Le deuxième type de singularité dans les bras de robot articulés verticalement avec des poignets alignés est la singularité du coude. Cela 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 tendu . (En raison d’interférences mécaniques, la plupart des bras de robot ne peuvent pas être complètement pliés, ce qui serait l’autre singularité du coude.) Une singularité du 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°.

Elbow singularity (center) and elbow-up (left) and elbow-down (right) conditions
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é de coude tandis que les deux autres correspondent à deux ensembles différents de types de configuration. Dans la configuration de gauche, on a la condition dite coude vers le haut (θ3 > −arctan(60/19)) alors que, dans la configuration de droite, on a la condition coude vers le bas (θ3 < −arctan(60/19) ).

Dans une singularité de coude, deux ensembles de solutions cinématiques en 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 de robot articulés verticalement avec des poignets alignés est la singularité de l’épaule. Cela se produit lorsque le centre du poignet du robot se trouve dans le plan passant par les axes des articulations 1 et 2 (ou passant par l’axe de l’articulation 1 et parallèle à 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é d’épaule. Cette singularité est la plus complexe car elle ne dépend pas d’une seule position articulaire, comme les deux autres.

Shoulder singularity (center) and front (left) and back (right) conditions
Singularité de l’épaule (centre) et conditions avant (gauche) et arrière (droite)

Dans la figure ci-dessus, la configuration du milieu correspond à une singularité d’épaule tandis que les deux autres correspondent à deux ensembles différents de types de configuration. Dans la configuration de gauche, nous avons la condition avant alors que, dans la configuration de droite, nous avons la condition arrière. Bien sûr, une formule mathématique détermine ces deux conditions, mais elle est un peu complexe et ne sera pas présentée ici.

Passing through a shoulder singularity
Passage à travers 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. Considérez la figure ci-dessus où un robot est représenté traversant une singularité d’épaule. Pour que le TCP suive une ligne à travers la singularité, les articulations 1 et 4 doivent tourner simultanément de 90° dans des directions opposées (les autres articulations doivent également tourner), tandis que l’effecteur final reste immobile. Ainsi, il est physiquement possible de franchir une singularité d’épaule en suivant une ligne mais, à la singularité, l’effecteur reste immobile tandis que certaines articulations tournent. En d’autres termes, il est impossible de franchir une singularité d’épaule sans que l’effecteur ne s’arrête.

Dans une singularité d’épaule, il existe des solutions infinies à la cinématique de position inverse du robot. Malheureusement, il n’existe pas de formule simple pour exprimer ces solutions.

 

Configurations et récapitulatif

Notez que vous pouvez avoir des configurations de singularité qui appartiennent à deux des trois types de singularité, voire aux trois.

Notez également qu’un type de configuration est défini par l’ensemble des trois conditions de configuration décrites ci-dessus, à savoir {flip/no-flip, coude vers le haut/coude vers le bas, avant/arrière}. Passer d’un type de configuration à un autre nécessite de franchir une singularité. Il est donc impératif que lors de l’utilisation des commandes de l’espace cartésien, vous spécifiiez le type de configuration souhaité, et pas simplement la pose de l’effecteur souhaité.

Enfin, les trois types de singularité présents dans les bras de robot articulés verticalement avec 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é du poignet, la valeur minimale de θ5 est de 0,2°, ce qui est extrêmement proche d’une singularité du poignet. De plus, dans la séquence illustrant la singularité du coude, la valeur de θ3 oscille rapidement ±12° autour de la valeur singulière de θ3 ≈ −72,43°, mais l’effecteur est presque stationnaire.

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

Comme 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 du marché ont la même disposition à six rotules que l’UR3 d’Universal Robots, pris ici en exemple. À savoir, les axes des articulations 2, 3 et 4 sont parallèles, l’axe de l’articulation 1 se croise et est normal à l’axe de l’articulation 2, et l’axe de l’articulation 5 se croise et est normal aux axes des articulations 4 et 6.

Types of singularity in the typical collaborative robot arm: wrist (left), elbow (center) and shoulder (right) singularities
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 simple problème 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°. De plus, dans une singularité de poignet, le mécanisme constitué des articulations 2, 3, 4 et 5, peut se déplacer tandis que l’effecteur reste immobile. 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 situe dans le plan passant par les axes des articulations 1 et 2, comme illustré sur la figure ci-dessus à droite. Dans une singularité d’épaulement, les deux solutions possibles pour θ1 fusionnent. Contrairement au bras de robot à six axes typique, il n’y a pas de mouvement d’articulation qui se traduit par un effecteur terminal stationnaire.

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

 

Comment éviter les singularités du robot ?

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

An end-effector pose corresponding to a singular (left) and a non-singular (right) robot configuration
Pose de l’effecteur correspondant à une configuration singulière (à gauche) et non singulière (à droite) du robot

Certains fabricants de robots proposent des options d’évitement de singularité qui permettent à l’effecteur final 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 en traversant des singularités, bien que cela puisse signifier que l’effecteur s’arrête une seconde ou deux avant de continuer. Évidemment, pour de nombreuses trajectoires cartésiennes, vous ne pouvez toujours pas faire de collage, par exemple, mais vous pouvez faire de l’assemblage.

Dans les deux approches, 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 dans la sous-figure de gauche 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 à la fois une singularité de poignet et de coude, sans aucune interruption.

En conclusion, gardez à l’esprit les singularités du robot lors de la conception de votre cellule robotisée. Portez une attention particulière à la conception de la plaque d’adaptation pour votre effecteur terminal. 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 broches rondes), profitez de votre degré de liberté redondant pour vous éloigner des singularités. Enfin, envisagez l’utilisation de logiciels de programmation et de simulation hors ligne tels que RoboDK, qui peuvent être d’une grande aide pour vérifier les singularités des robots.

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


Share

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *