Robot six axes Micro-Automation
De combien d'espace avez-vous besoin pour un robot à six axes Micro-Automation ?
Si vous avez l'intention d'utiliser un bras de robot à six axes de micro-automatisation, tel que le Meca500 de Mecademic utilisé dans ce didacticiel à titre d'exemple, vous êtes très probablement intéressé par le positionnement et l'orientation de l'outil du robot (effecteur ) dans divers emplacements. Par conséquent, vous voudrez certainement connaître l'ensemble des emplacements que vous pouvez atteindre avec un effecteur spécifique monté sur un bras de robot à six axes spécifique. Vous demanderez probablement une sorte de diagramme montrant la "zone de travail", le "volume de travail", l'"enveloppe de travail" ou la "plage de travail" du robot. Et, malheureusement, vous serez souvent présenté avec un schéma simpliste comme celui montré ici, ou pire encore, avec la soi-disant portée du robot.
En robotique, le terme approprié pour ce que vous recherchez est espace de travail . La portée n'est rien d'autre que la distance maximale entre le centre du poignet du robot (le point d'intersection des axes des trois dernières articulations du robot) et l'axe de l'articulation 1. La zone grise sur la figure ci-dessus est la zone atteignable par le centre du poignet, pour une rotation donnée de l'articulation 1. Cette zone, ou encore le volume balayé en faisant tourner cette zone autour de l'axe de l'articulation 1, n'est pas l'espace de travail du robot. Il n'y a absolument aucune garantie que vous puissiez atteindre une position dans ce volume avec l'info-bulle d'un effecteur particulier, et encore moins atteindre cette position avec n'importe quelle orientation. En effet, si vous montez un effecteur relativement long, vous ne pourrez atteindre aucune position de ce volume avec la pointe de votre outil.
L'espace de travail d'un robot six axes à micro-automatisation est l'ensemble de toutes les poses (positions et orientations) pouvant être atteintes par un effecteur particulier monté sur ce robot. Ainsi, (1) personne ne peut vous dire quel est l'espace de travail d'un bras de robot à six axes spécifique, à moins que vous ne spécifiiez quel est l'effecteur final que vous avez l'intention d'utiliser, et (2) cet espace de travail est une entité à six dimensions qu'il est généralement impossible de représenter graphiquement.
Bien sûr, il existe quelques exceptions dans le domaine de la robotique, lorsqu'il s'agit de représentation graphique. L'espace de travail d'un robot cartésien à six axes tel que celui illustré ci-dessous est simple à décrire, mais uniquement pour un choix spécifique d'info-bulle. En effet, si l'infobulle de l'effecteur terminal du robot coïncide avec le point d'intersection des axes des trois articulations rotoïdes, alors ce robot à six axes de micro-automatisation peut positionner son infobulle n'importe où à l'intérieur du cuboïde jaune, avec absolument n'importe quelle orientation d'outil.
Hélas, la grande majorité des robots industriels à six axes ne sont pas cartésiens, pour diverses raisons pratiques. Par exemple, le robot cartésien ci-dessus a un très petit espace de travail en termes de positionnement. Le bras de robot typique à six axes, souvent étrangement appelé robot à articulation verticale , se compose de sept maillons (corps), reliés en série par six joints rotoïdes actionnés. Le premier de ces corps est la base du robot et le dernier est la bride du robot. (également appelée interface mécanique ). De plus, l'axe de la première articulation est vertical, les axes des articulations 2 et 3 sont horizontaux, l'axe de l'articulation 4 est perpendiculaire à l'axe de l'articulation 3 et les axes des trois dernières articulations se coupent généralement en un point.
Dans un bras de robot à six axes typique de micro-automatisation, tel que notre Meca500, quel que soit l'effecteur, pour chaque position réalisable du TCP, la gamme d'orientations d'outils réalisables est complètement différente, en raison des interférences mécaniques, des limites des joints et des limitations de longueur de liaison. En plus de ce couplage élevé entre les capacités de positionnement et d'orientation des bras de robot typiques à six axes, ces robots ont ce qu'on appelle des singularités . Dans une singularité, le robot ne peut pas se déplacer dans certaines directions. Il s'agit d'un blocage physique, pas d'une sorte de problème mathématique, et absolument tous les bras de robot à six axes de micro-automatisation (y compris celui cartésien illustré ci-dessus) ont des singularités. Par exemple, lorsque toutes les articulations du Meca500 sont à zéro degré, comme dans la figure de gauche ci-dessous, l'effecteur du robot ne peut pas se déplacer le long d'une ligne parallèle à la base y -axe (le vert). Pour se déplacer le long de cette ligne, les articulations 4 et 6 devraient d'abord tourner de ±90° (dans des directions opposées).
Les singularités sont un phénomène (ou plutôt une nuisance) très important en robotique et seront traitées dans un tutoriel séparé. Ici, il suffit de dire que même si un chemin se trouve à l'intérieur de l'espace de travail d'un robot, comme dans l'exemple ci-dessus, le cadre de référence de l'outil du robot peut ne pas être en mesure de le suivre en continu (c'est-à-dire sans pauses dans le mouvement du TCP) , à cause des singularités.
Ainsi, les singularités du robot limitent davantage les parties utilisables de l'espace de travail d'un robot. En fait, l'espace de travail d'un bras de robot à six axes de micro-automatisation typique est la combinaison de plusieurs sous-ensembles d'espace de travail sans singularité, séparés par des singularités. Le robot peut se déplacer n'importe où dans l'espace de travail total, en mode joint, mais uniquement dans l'un des sous-ensembles d'espace de travail sans singularité lorsqu'il est en mode cartésien (c'est-à-dire lorsque son TCP suit en permanence un chemin spécifique).
Chacun de ces sous-ensembles d'espace de travail sans singularité correspond à une configuration de robot spécifique. Ce sujet sera traité dans le prochain tutoriel sur les singularités des robots. Pour l'instant, notez que si une pose donnée semble inaccessible avec la configuration actuelle du robot, elle peut être accessible avec une autre configuration. Par exemple, la pose du cadre de référence de l'outil dans la figure ci-dessous ne peut être atteinte que dans l'une des huit configurations de robot. Pourtant, une erreur courante consiste à ne considérer qu'un seul des sous-ensembles d'espace de travail sans singularité au lieu de l'espace de travail total (c'est-à-dire travailler dans un seul des huit modes de configuration). Notez que si vous spécifiez une pose en utilisant x , y , z coordonnées et angles d'Euler puis utilisez la commande MovePose, le robot trouvera automatiquement la meilleure configuration. Malheureusement, cependant, les utilisateurs enseignent généralement les positions du robot en faisant du jogging, plutôt qu'en spécifiant une pose.
Souvent, un utilisateur a déjà un ensemble de poses d'effecteur final à atteindre pour son application donnée. Par exemple, une pièce doit être prélevée sur un convoyeur, puis présentée devant une caméra dans diverses orientations, et enfin déposée sur un autre convoyeur. Trouver le placement optimal pour la caméra, l'installation optimale de la pince et le design optimal pour les doigts, est loin d'être anodin. Malheureusement, à l'heure actuelle, il n'existe pas de procédure automatique disponible dans le commerce pour trouver la conception de cellule optimale - la seule méthode est par essais et erreurs.
Heureusement, vous n'avez pas besoin d'avoir la configuration réelle pour cela ; vous pouvez utiliser un logiciel de simulation comme RoboDK. Cela dit, vous avez encore besoin de compétences en robotique, sinon vous pourriez consacrer beaucoup d'efforts à des essais et des erreurs. Ainsi, dans ce qui suit, nous vous donnerons dix conseils pour utiliser au mieux l'espace de travail de votre robot. Bien que nous utilisions notre Meca500 comme exemple, ces directives s'appliquent à n'importe quel bras de robot à six axes de micro-automatisation typique.
Directive 1 : Placez votre TCP le plus près possible de la bride du robot
En inspection, il est assez courant de devoir présenter une pièce devant une caméra avec une large gamme d'orientations. Dans une telle application, la première règle d'or consiste à placer le repère de l'outil le plus près possible du repère de la bride. En d'autres termes, vous devez concevoir un système de préhension qui vous permette de saisir la pièce à inspecter le plus près possible de la bride du robot.
Notez que nous fournissons notre préhenseur électrique en option avec une plaque d'adaptation qui vous permet de fixer la pince comme indiqué ci-dessus. Cependant, pour certaines applications, il peut être préférable de concevoir votre propre plaque d'adaptation pour soit fixer la pince de telle sorte que les doigts et l'axe de l'articulation 6 soient dans un même plan, soit pour fixer la pince le long de l'axe de l'articulation 6 ( comme dans cette vidéo). Une autre alternative pourrait être d'utiliser des doigts en forme de L.
Directive 2 : Ne vous déplacez pas en mode cartésien à moins de suivre une trajectoire
En inspection, vous devez souvent faire pivoter une pièce dans différentes orientations. Bien sûr, dans ces cas, il est beaucoup plus facile d'utiliser la commande MoveLinRelTRF ou de déplacer le robot en mode cartésien. Cependant, les deux approches échouent si une singularité est présente le long de la rotation, comme dans l'exemple illustré dans la figure ci-dessous. Dans cet exemple, vous ne pouvez pas faire pivoter l'effecteur autour de son y -axe (le vert) à 90°, à cause d'une singularité (les axes des articulations 4 et 6 s'alignent).
Ainsi, vous devez apprendre à utiliser les angles d'Euler et utiliser la commande MovePose à la place. Vous pouvez également utiliser RoboDK. RoboDK étant un simulateur, il permet de passer par des singularités en mode jogging cartésien. Quelles que soient les singularités, utilisez toujours les commandes MovePose ou MoveJoints, sauf si vous souhaitez que votre TCP suive un chemin spécifique. L'utilisation de ces commandes conduit généralement à des temps de cycle plus rapides.
Conseil 3 : Si le câblage retient trop l'articulation 6, alignez les axes des articulations 1, 4 et 6
Bien que l'articulation 6 soit mécaniquement illimitée, si vous utilisez un effecteur auquel un câble est attaché, comme notre pince, la gamme d'articulation 6 sera limitée à environ ±180° ou même moins. Si vous avez besoin de plus de portée, vous pouvez aligner les axes des articulations 4 et 6, ou même des articulations 1, 4 et 6. Bien entendu, une telle configuration sera singulière, vous devrez donc utiliser la commande MoveJoints pour effectuer une rotation autour de ces axes. axes coïncidents
Instruction 4 : Si vous utilisez un effecteur terminal avec câblage, maintenez l'articulation 6 aussi proche que possible de zéro degré
Dans la mesure du possible, dans la position souhaitée, essayez de maintenir l'articulation 6 aussi proche que possible de zéro degré. Si, par exemple, vous saisissez une pièce dans une position de robot où l'articulation 6 est à 170°, puis exécutez une commande MovePose, l'articulation 6 tournera très probablement beaucoup. Par exemple, si à la nouvelle pose souhaitée, l'articulation 6 pouvait être à 190°, le robot tournera automatiquement sa dernière articulation de 340° dans le sens négatif (au lieu de 20° dans le sens positif).
Directive 5 : Si vous avez besoin de beaucoup vous orienter, positionnez votre TCP sur l'axe de l'articulation 1
Si vous avez besoin de couvrir une large gamme d'orientations, alors vous devez positionner votre TCP sur l'axe de l'articulation 1. Une telle configuration permettra vous faire pivoter de ±175 ° autour de l'axe de l'articulation 1 et de ±180 ° autour de l'axe de l'articulation 6. Plus le centre du poignet du robot est éloigné de l'articulation 1, moins les capacités d'orientation du robot sont importantes.
Conseil 6 : Essayez toutes les configurations de robot
Parfois, le robot sera trop proche d'une singularité dans une ou plusieurs des poses d'effecteur final à atteindre. Dans une application d'inspection, cela ne posera peut-être pas de problème, mais si vous devez sélectionner ou placer un objet, vous devrez probablement arriver à la pose finale et en sortir en mode linéaire. Dans ce cas, testez toutes les configurations de robot possibles et choisissez celle qui est la plus éloignée des singularités. Par exemple, dans la figure ci-dessous, la configuration de gauche est trop proche d'une singularité (les axes 4 et 6 sont presque alignés), mais celle de droite est suffisamment éloignée d'une singularité.
Directive 7 : Considérez plus que la simple atteignabilité
Comme nous l'avons déjà mentionné, l'espace de travail d'un bras de robot à six axes de micro-automatisation est un ensemble de plusieurs sous-ensembles d'espace de travail séparés par des singularités. En plus de cela, toutes les poses réalisables ne sont pas également «bonnes». En effet, l'espace de travail d'un bras robotisé à six axes est très hétérogène, en termes de critères de performances tels que la vitesse et la précision. Nous avons déjà mentionné que vous devez être aussi loin que possible des singularités, lorsque vous vous déplacez en mode cartésien. De plus, plus le bras du robot est étiré, moins il est précis (plus il est flexible) et plus il faut de temps pour supprimer les vibrations au niveau de l'info-bulle.
Conseil 8 : Profitez de la redondance du robot si vous n'avez pas besoin de six degrés de liberté
Dans de nombreux cas, vous n'avez besoin que de cinq degrés de liberté. Par exemple, si votre effecteur est un distributeur de colle ou une broche, vous ne vous souciez probablement pas de l'orienter autour de l'axe de l'aiguille ou de la tige, respectivement. De plus, si vous inspectez une pièce à l'aide d'un capteur axisymétrique tel qu'une caméra, dans de nombreux cas, vous pourrez présenter la pièce dans n'importe quelle rotation autour de l'axe du capteur. Dans ces cas, n'alignez pas l'axe de l'articulation 6 avec l'axe de symétrie de votre outil ou capteur et choisissez la meilleure des infinités de positions du robot pour chaque pose à atteindre. Le meilleur signifie loin des singularités, mais aussi le plus proche des poses précédentes et suivantes à atteindre.
Ligne directrice 9 : Fixez votre robot en position verticale, sauf en cas d'absolue nécessité
Comme la plupart des robots industriels, le Meca500 peut être fixé dans n'importe quelle orientation (par exemple, à l'envers ou sur un mur). Le seul problème avec toute fixation non verticale est que vous avez besoin d'un luminaire très solide, ce qui pourrait rendre votre cellule plus encombrante et plus coûteuse. Par conséquent, n'optez pour des accessoires non verticaux qu'après avoir essayé de fixer le robot en position verticale.
Règle 10 : Mesurez sept fois, coupez une fois
Le dicton anglais dit « Mesurez deux fois, coupez une fois », mais lorsqu'il s'agit de conception de cellules robotisées, optez pour la version russe « Mesurez sept fois, coupez une fois ». Si votre cellule est relativement complexe ou si l'espace de travail de votre robot semble restreint, vous devez utiliser un package de simulation de robot et passer par de nombreuses itérations de conception jusqu'à ce que vous trouviez une solution satisfaisante. Cependant, ne vous fiez pas entièrement à la simulation. Un package de simulation générique comme RoboDK ne simule pas le comportement exact d'un robot. Par exemple, un mouvement linéaire spécifique peut être réalisable dans RoboDK, mais impossible sur un vrai robot, à cause des singularités. Par conséquent, vous devez également essayer votre programme sur le robot réel.
En conclusion, à moins que votre application ne comporte que quelques mouvements répétitifs, vous devez bien comprendre l'espace de travail de votre robot et passer un temps considérable à concevoir votre cellule robotisée. La conception d'une cellule robotisée, ce n'est pas seulement être capable d'effectuer tous les mouvements du robot, c'est aussi optimiser le temps de cycle et d'autres critères de performance (précision, consommation d'énergie).
Système de contrôle d'automatisation