Ejes rotativos con rango de valor superior a 360 °
Introducción
Los robots suelen tener ejes giratorios con un rango de valores superior a 360 °. Por ejemplo, el último eje (eje de orientación A3) de un robot SCARA a menudo puede viajar más de una rotación, desde aproximadamente -540 ° a 540 °.
Esto significa que se puede abordar la misma posición y orientación de múltiples maneras. Considerando SCARA, por ejemplo, la orientación y posición de la herramienta es idéntica, independientemente de si el último eje está en -170 ° o en 190 ° (= -170 ° + 360 °). Como resultado, la conversión de la posición y orientación cartesianas a valores de eje (la transformación cinemática inversa) no es única, pero tiene varias soluciones.
Esto se puede utilizar, por ejemplo, en aplicaciones Pick & Place para ahorrar tiempo al pasar de 170 ° a 190 ° y no a -170 °.
Nota: El movimiento del eje de orientación SCARA puede convertirse rápidamente en un factor limitante para el tiempo de ciclo en estas aplicaciones.
Resolución de ambigüedad
Si los puntos a recorrer se ordenan en el sistema de coordenadas del eje (ACS), entonces está claro para cada eje qué valor tomará en el punto de destino. Por otro lado, en el comando cartesiano (posición X / Y / Z y orientación en A / B / C) existe esta ambigüedad para los ejes giratorios.
La configuración de la cinemática se utiliza para resolver esta ambigüedad. Con los robots SCARA, la configuración ya incluye la configuración de si el SCARA debe acercarse a un punto con ElbowRight
o ElbowLeft
. Además, la configuración SCARA también incluye la configuración nPeriodA3
, que se puede utilizar para determinar cómo se debe resolver la ambigüedad para el eje A3.
Para ello, todo el rango de valores se divide en períodos de la longitud máxima de 360 °:
Periodo -1 de -540 ° a -180 °
Periodo 1 de -180 ° a 180 °
Periodo 2 de 180 ° a 540 °
(Para un rango de valores más grande del eje, hay correspondientemente más períodos posibles).
También hay un valor especial. Si nPeriodA3 := 0
está configurado, entonces se activa una resolución automática de ambigüedad. Para los movimientos PTP, esto significa que el período se selecciona de modo que la distancia entre las posiciones inicial y final para el eje 4 sea lo más pequeña posible. (El comportamiento con los movimientos de CP se describe a continuación).
Por lo tanto, es posible controlar la resolución de la ambigüedad de un eje giratorio estableciendo la configuración cinemática en consecuencia (ver SMC_SetKinConfiguration
). Las cinemáticas que admiten esta funcionalidad implementan la interfaz SMKinematicWithConfigurations3
.
Aviso
El SMC_GroupReadSetPosition
, MC_GroupReadActualPosition
, y SMC_GroupTargetPosition
Los bloques de funciones siempre emiten la configuración con la resolución automática activada de los períodos. La configuración actual con períodos establecidos explícitamente se puede leer leyendo la posición en el ACS y luego convirtiéndola a MCS por medio de SMC_GroupConvertPosition
. La configuración devuelta tiene períodos establecidos explícitamente.
Para más información, ver: Configuraciones cinemáticas
Comportamiento en el caso de movimientos de PC
Durante un movimiento CP (MC_MoveLinearAbsolute
/MC_MoveLinearRelative
, MC_MoveCircularAbsolute
/MC_MoveCircularRelative
), los ejes giratorios siempre se accionan en modo automático (período 0). El período del eje siempre se selecciona para que no haya salto en el eje.
Es posible que al final del movimiento CP no se alcance el valor del eje comandado, pero que el eje llegue en un período diferente debido a la selección automática del período. Esto significa que la posición ordenada no se puede alcanzar con el tipo de movimiento seleccionado. Este conflicto se detecta antes de alcanzar la posición de destino, el grupo de ejes se detiene y se emite un error.
Ejemplo: utiliza un robot SCARA con tres ejes giratorios A1, A2 y A3. A3 tiene un rango de valores de -360° a +360°. Enseñas dos posiciones en coordenadas de eje. Posición1 = (A1 = 0°, A2 = 90°, A3 = 170°), Posición2 = (A1 = 10°, A2 = 90°, A3 = -170°).
Luego ordenas un movimiento lineal (MC_MoveLinear/MC_MoveAbsolute)
) con el modo de orientación GreatCircle
.
Esta combinación de mando en ACS y la interpolación de orientación de gran círculo crea un conflicto. Para seguir la interpolación de orientación, el eje A3 tendría que moverse de 170° en dirección positiva a 190°. Por lo tanto, no puede alcanzar la posición objetivo requerida (-170°).
Comentario: En el caso de movimientos CP, el período del eje giratorio está determinado por el tipo de interpolación seleccionado. Esto también significa que la posición de destino del eje depende de la trayectoria de aproximación al punto de destino. Por lo tanto, es posible, por ejemplo, que al combinar dos movimientos un eje llegue en un período diferente al que habría ocurrido con los movimientos amortiguados.
Para más información, ver: Interpolación de orientación para movimientos CP