Interpolation d'orientation pour les mouvements de CP
Dans le cas de mouvements CP tels que MC_MoveLinearAbsolute
, MC_MoveLinearRelative
, MC_MoveCircularAbsolute
, ou MC_MoveCircularRelative
, toute orientation cible de l'outil peut être spécifiée au moyen de la position cible du mouvement. La conséquence est que l'orientation de l'outil est convertie en orientation cible pendant le mouvement de la trajectoire avec la pointe de l'outil se déplaçant sur la trajectoire. Pour l'interpolation d'orientation, le système de coordonnées dans lequel l'orientation cible a été donnée ne fait aucune différence, que ce soit en coordonnées d'axe (ACS) ou en coordonnées machine (MCS).
L'image suivante montre une interpolation linéaire avec l'interpolation d'orientation simultanée. La flèche rouge indique la direction de l'outil aux points de départ et d'arrivée. La ligne rouge en pointillé indique comment l'outil est positionné à certains endroits pendant l'interpolation.

Les blocs fonction mentionnés ci-dessus pour les déplacements sur trajectoire ont la OrientationMode
saisir. Cette entrée définit comment l'orientation de départ est transmise à l'orientation cible.
Interpolation grand cercle (
SMC_Orientation_Mode.GreatCircle
)Il s'agit d'un paramètre par défaut. Avec ce réglage, l'orientation de départ est également transmise à l'orientation cible sur la distance la plus courte. La distance la plus courte signifie que l'outil est tourné dans l'orientation cible de sorte que l'angle de rotation parcouru est minimisé.
Interpolation de l'orientation des axes (
SMC_Orientation_Mode.Axis
)
Considérons un portique ayant un axe C avec une plage de valeurs de -360° à 360°. L'orientation de départ est C=179° et l'orientation cible est C=-175°. L'interpolation du grand cercle déplace l'axe C de l'angle d'Euler ZYZ (A,B,C) proportionnellement à la distance parcourue sur la trajectoire de 179° dans le sens positif au-delà de 180° à 185°, ce qui correspond à -175°. Dans ce cas, il parcourt un angle total de 6°.
Considérons à nouveau le portique ayant un axe C avec une plage de valeurs de -180° à 180°. L'orientation de départ est C=179° et l'orientation cible est C=-175°. L'interpolation d'axe déplace l'axe C du portique proportionnellement à la distance parcourue sur le trajet de 179° dans le sens négatif au-delà de 0° à -175°, parcourant un angle total de 354°. (Si l'interpolation du grand cercle était utilisée dans cet exemple, une erreur se serait produite, car l'espace de travail de l'axe C aurait été dépassé.)
Dans l'interpolation grand cercle, le changement d'orientation de l'outil peut être prédit. Dans l'interpolation des axes, il est difficile de prédire le changement d'orientation, car les axes d'orientation peuvent affecter l'orientation différemment selon la position. L'interpolation d'orientation d'axe partage cette caractéristique avec les mouvements PTP. (Cependant, cela ne signifie pas qu'il est difficile de prédire le chemin dans l'espace pour l'interpolation d'orientation d'axe. Le chemin est le même pour les deux types d'interpolation d'orientation, et le TCP parcourt toujours exactement le contour défini.)
Avec l'interpolation de grand cercle, les singularités dans la cinématique d'orientation ne peuvent pas être parcourues. Ceci est facilement possible avec l'interpolation d'axe.
Dans l'interpolation grand cercle, des violations des limites des axes d'orientation peuvent en résulter, comme mentionné dans le deuxième exemple. Lors de la commande, il faut donc s'assurer qu'aucune limite d'axe n'est violée lors du déplacement vers l'orientation cible avec la rotation la plus courte.
Avec l'interpolation des axes, il est possible de tourner à plus de 360°. Si un axe d'orientation a un espace de travail de plus de 360°, vous pouvez par exemple vous déplacer jusqu'à la position 540° au lieu de la position 180°. Cela correspond à la même orientation de l'outil. Avec l’interpolation grand cercle, cela n’est pas possible. La rotation la plus courte vers l'orientation cible correspond toujours à un angle total de 180° au maximum.
L'interpolation de l'orientation des axes nécessite une cinématique couplée composée d'une cinématique de position et d'outil. La partie position doit implémenter l'interface
ISMPositionKinematics_Offset2
.Si la cinématique n'a pas d'axes rotatifs et qu'elle implémente l'interface
ISMPositionKinematics
, puis le mode d'orientation sélectionné (SMC_Orientation_Mode
) est ignoré.
Singularités dans l'interpolation de l'orientation des axes
Avec l'interpolation d'orientation d'axe, un mouvement de trajectoire peut avoir lieu à travers les singularités de la cinématique d'orientation, ce qui peut faciliter considérablement la programmation. Les singularités de la cinématique de position changent à cet effet.
Dans le cas d'une grande interpolation circulaire, Scara3_Z a une singularité si le point d'aile (A3) est situé sur la ligne définie par la première partie du bras (si le deuxième angle de joint est de 0°).
Pour l'interpolation d'orientation d'axe, les singularités de la cinématique de position changent de sorte que le TCP assume le rôle que le point d'aile (A3) a par ailleurs. Cette singularité se produit lorsque le TCP (pas le point de bride) est situé sur la ligne définie par la première partie du bras. Lors de la commande d'un mouvement avec interpolation d'orientation d'axe, il est vérifié si cette singularité modifiée se situe ou non entre les positions de départ et d'arrivée du mouvement. Si c'est le cas, le mouvement n'est pas accepté et une erreur est émise.

Pour les robots à bras articulés 6 axes, la situation est comparable à Scara3_Z, mais deux singularités sont possibles. Le premier se produit lorsque le TCP est situé sur la ligne passant par A2 et A3. La seconde se produit lorsque le TCP est situé sur la ligne passant par A1. Le commandant vérifie également ici qu'aucune singularité n'est traversée.

Astuce
Il peut arriver que la configuration de Scara3 (ou du robot à bras articulé 6 axes) change lors des déplacements avec interpolation de l'orientation des axes. Cependant, à la fin du mouvement, la même configuration que le robot avait au point de départ est toujours appliquée.