Skip to main content

Tolerancias para la precisión de la ruta

Se pueden establecer tolerancias para la precisión de la trayectoria para los grupos de ejes. En caso de un movimiento inesperado de un sistema de coordenadas dinámico, estas tolerancias permiten que un grupo de ejes alcance este sistema de coordenadas en lugar de detenerse por error. SMC_AXIS_GROUP_MAX_AXIS_LAG_EXCEEDED, SMC_AXIS_GROUP_MAX_POSITION_LAG_EXCEEDED, o SMC_AXIS_GROUP_MAX_ORIENTATION_LAG_EXCEEDED.

Descripción general

¿Por qué son necesarias las tolerancias para la precisión de la trayectoria? Idealmente, el grupo de ejes debería seguir la ruta exactamente. Sin embargo, si se utiliza un sistema de coordenadas dinámico (por ejemplo, un objeto en una correa o mesa giratoria, o un sistema de coordenadas especificado por otro grupo de ejes), en algunos casos no es posible seguir la ruta.

Ejemplo: un robot debe colocar una pieza en una cinta transportadora. La cinta se mueve a una velocidad constante, pero justo antes de que el robot llegue a la posición para colocar la pieza, la cinta acelera inesperadamente. En esta situación ya se ha calculado la trayectoria de colocación de la pieza, pero asumiendo que la cinta continúa moviéndose a velocidad constante. Por lo tanto, el movimiento restante ahora puede provocar una violación de la aceleración máxima de uno de los ejes del robot.

En situaciones como esta, las tolerancias son importantes. Permiten que el grupo de ejes se desvíe de la trayectoria dentro de los límites especificados y vuelva a alcanzar el sistema de coordenadas.

La precisión de la ruta está controlada por un filtro. El filtro recibe la trayectoria planificada (q_ref) y las últimas posiciones objetivo calculadas (q_set) como entrada. La salida del filtro son las posiciones de destino (q_set), que se transfieren a los accionamientos. Si q_ref viola uno de los límites del eje, entonces el filtro abandona la ruta y sigue la trayectoria planificada lo más cerca posible sin violar un límite del eje. Mientras el desfase entre q_set y q_ref está dentro de las tolerancias, no se genera ningún error.

_sm_img_path_tolerances.png

Las tolerancias para la precisión de la trayectoria constan de varios valores:

  • Retraso máximo del TCP en unidades técnicas (valor predeterminado: 1 u)

  • Error máximo de orientación del TCP en grados angulares (valor predeterminado: 1 deg)

  • Retraso máximo permitido de cada eje en unidades técnicas del eje (valor predeterminado: infinito)

Efecto sobre los bloques de funciones administrativas

Los valores de posición, velocidad, aceleración y sacudida que devuelve el SMC_GroupReadSetPosition, SMC_GroupReadSetVelocity, SMC_GroupReadSetAcceleration, y SMC_GroupReadSetJerk Los bloques de funciones se calculan en función de la trayectoria planificada (q_ref). Por tanto, no contienen el aporte del filtro.

Por otro lado, los valores reales de posición, velocidad y sacudida, que devuelve el MC_GroupReadActualPosition, MC_GroupReadActualVelocity, y MC_GroupReadActualAcceleration Bloques de funciones: se calculan en función de la posición real de los accionamientos del grupo de ejes. Por tanto, también contienen el aporte del filtro.

La dinámica de la ruta que son devueltas por SMC_GroupReadPathDynamics con Source = MC_SOURCE.SET se basa en la trayectoria planificada (q_ref) y por lo tanto no se ve influenciado por el filtro. (Para otros valores del Source entrada, se incluye el aporte del filtro)

Los desencadenantes siempre se refieren a la trayectoria planificada (q_ref). El tiempo que es devuelto por MC_GroupReadTrigger es el momento en que la trayectoria planificada llega al gatillo. Cuando el filtro está activo (q_ref<>q_set), el grupo de ejes no suele alcanzar exactamente la posición y/o el tiempo del disparador.

Nota: Un movimiento informa Done sólo cuando tanto la trayectoria planificada (q_ref) ha llegado al final del movimiento y el filtro no está (o ya no) activo (es decir, se ha eliminado un posible retraso). Luego la posición establecida (q_set) corresponde a la posición objetivo del movimiento.

Ajustar las tolerancias y controlar la desviación de la trayectoria

Las tolerancias se pueden establecer usando el SMC_GroupSetPathTolerance bloque de funciones.

El estado del filtro y el desfase actual entre la trayectoria planificada. q_ref y los valores establecidos q_set del grupo de ejes se puede controlar con el InSync, PositionLag, y OrientationLag salidas de MC_GroupReadStatus. InSync = TRUE significa que q_ref = q_set y que el filtro no está activo. InSync = FALSE significa que q_ref<>q_set y que el filtro esté activo.