Skip to main content

Tolérances pour la précision du chemin

Des tolérances pour la précision de la trajectoire peuvent être définies pour les groupes d'axes. En cas de mouvement inattendu d'un repère dynamique, ces tolérances permettent à un groupe d'axes de rattraper ce repère au lieu de s'arrêter avec erreur SMC_AXIS_GROUP_MAX_AXIS_LAG_EXCEEDED, SMC_AXIS_GROUP_MAX_POSITION_LAG_EXCEEDED, ou SMC_AXIS_GROUP_MAX_ORIENTATION_LAG_EXCEEDED.

Aperçu

Pourquoi des tolérances sont-elles nécessaires pour la précision de la trajectoire ? Idéalement, le groupe d’axes devrait suivre exactement le chemin. Cependant, si un système de coordonnées dynamiques est utilisé (par exemple, un objet sur une courroie ou une table rotative, ou un système de coordonnées spécifié par un autre groupe d'axes), il n'est dans certains cas pas possible de suivre le chemin.

Exemple : Un robot doit placer une pièce sur un tapis roulant. La courroie se déplace à une vitesse constante, mais juste avant que le robot n'atteigne la position de placement de la pièce, la courroie accélère de manière inattendue. Dans cette situation, la trajectoire de mise en place de la pièce a déjà été calculée, mais en supposant que la bande continue de se déplacer à vitesse constante. Par conséquent, le mouvement restant peut désormais conduire à une violation de l'accélération maximale de l'un des axes du robot.

Dans des situations comme celle-ci, les tolérances sont importantes. Ils permettent au groupe d'axes de s'écarter du chemin dans les limites spécifiées et de rattraper le système de coordonnées.

La précision du chemin est contrôlée par un filtre. Le filtre reçoit la trajectoire prévue (q_ref) et les dernières positions cibles calculées (q_set) comme entrée. La sortie du filtre sont les positions cibles (q_set), qui sont transférés aux lecteurs. Si q_ref viole l'une des limites de l'axe, le filtre quitte alors la trajectoire et suit au plus près la trajectoire prévue sans violer une limite de l'axe. Tant que le décalage entre q_set et q_ref est dans les tolérances, aucune erreur n'est générée.

_sm_img_path_tolerances.png

Les tolérances pour la précision de trajectoire se composent de plusieurs valeurs :

  • Décalage maximum du TCP en unités techniques (valeur par défaut : 1 u)

  • Erreur d'orientation maximale du TCP en degrés angulaires (valeur par défaut : 1 deg)

  • Retard maximum autorisé de chaque axe en unités techniques de l'axe (valeur par défaut : infini)

Effet sur les blocs fonctionnels d'administration

Les valeurs de position, de vitesse, d'accélération et d'à-coup renvoyées par le SMC_GroupReadSetPosition, SMC_GroupReadSetVelocity, SMC_GroupReadSetAcceleration, et SMC_GroupReadSetJerk les blocs fonctionnels sont calculés en fonction de la trajectoire prévue (q_ref). Ils ne contiennent donc pas la contribution du filtre.

D'autre part, les valeurs réelles de position, de vitesse et d'à-coup - qui sont renvoyées par le MC_GroupReadActualPosition, MC_GroupReadActualVelocity, et MC_GroupReadActualAcceleration blocs fonctionnels – sont calculés sur la base de la position réelle des entraînements du groupe d’axes. Ils contiennent donc également la contribution du filtre.

La dynamique du chemin qui est renvoyée par SMC_GroupReadPathDynamics avec Source = MC_SOURCE.SET est basé sur la trajectoire prévue (q_ref) et n'est donc pas influencé par le filtre. (Pour les autres valeurs du Source entrée, la contribution du filtre est incluse)

Les déclencheurs font toujours référence à la trajectoire prévue (q_ref). L'heure qui est renvoyée par MC_GroupReadTrigger est le moment où la trajectoire prévue atteint le déclencheur. Lorsque le filtre est actif (q_ref<>q_set), le groupe d'axes n'atteint généralement pas exactement la position et/ou l'heure du déclenchement.

Remarque : Un mouvement signale Done seulement lorsque la trajectoire prévue (q_ref) a atteint la fin du mouvement et le filtre n'est pas (ou plus) actif (c'est-à-dire qu'un éventuel décalage a été éliminé). Puis la position réglée (q_set) correspond à la position cible du mouvement.

Définition des tolérances et surveillance de l'écart de trajectoire

Les tolérances peuvent être définies à l'aide du SMC_GroupSetPathTolerance bloc fonctionnel.

L'état du filtre et le décalage actuel entre la trajectoire prévue q_ref et les valeurs définies q_set du groupe d'axes peut être surveillé avec le InSync, PositionLag, et OrientationLag sorties de MC_GroupReadStatus. InSync = TRUE signifie que q_ref = q_set et que le filtre n'est pas actif. InSync = FALSE signifie que q_ref<>q_set et que le filtre est actif.