Controladores de Robot

Un controlador de robot controla un tipo particular de robot que está conectado a un computador. Un controlador de robot utiliza una interfaz de software genérico para controlar y supervisar un controlador de robot específico, habilitando un computador para controlar un robot.

Los controladores de robot proporcionan una alternativa a la programación fuera de línea (en la que un programa es simulado, generado, a continuación, es transferido al robot y ejecutado). Con los controladores de robots, es posible mover un robot mientras está siendo simulado (Programación en Línea).

El siguiente artículo muestra un ejemplo de un proyecto de programación en línea usando los controladores de robots:       
https://robodk.com/blog/online-programming/

Cualquier simulación del robot que sea programada en RoboDK puede ser ejecutada en el robot utilizando un controlador de robot. El movimiento del robot en el simulador está sincronizado con el robot real y es posible depurar programas de robot en tiempo real.

La siguiente lista proporciona algunos de los controladores de robots soportados por RoboDK:

   ABB

   Fanuc

   KUKA

   Mecademic

   Mitsubishi

   Motoman

   Robots Universales

Cómo usar los Controladores del Robot

Siga estos pasos para utilizar los controladores del robot en RoboDK:

1. Haga clic derecho en un robot

2. Seleccione Robot Drivers - Imagen 1 Conectar al robot...

3. Introduzca la dirección IP del robot

4. Seleccione Conectar

Un mensaje verde que muestra Listo aparecerá si la conexión se ha realizado correctamente, como se muestra en la siguiente imagen.

Robot Drivers - Imagen 2Robot Drivers - Imagen 3

Usando el GUI

Un programa de robot que se ha creado mediante la interfaz gráfica de usuario (GUI) puede ser ejecutado en el robot siguiendo estos pasos:

1. Haga clic derecho en un programa Robot Drivers - Imagen 4 

2. Compruebe la opción Ejecutar en robot

3. Haga doble clic en el programa para iniciarlo

El programa debe comenzar en el robot real y el simulador seguirá los movimientos del robot. El estado de la conexión mostrará Trabajando... en amarillo cuando el robot esté ocupado.

Robot Drivers - Imagen 5

Robot Drivers - Imagen 6

Usando el API

Es posible controlar el movimiento de un robot desde RoboDK API, Por ejemplo, para programar un robot desde un programa Python o una aplicación de C #.

La ejecución de la opción del robot se realiza de forma automática cuando un programa se ejecuta desde Python RoboDK. Siga estos pasos para ejecutar un programa de Python en el robot:

1. Haga clic derecho en un programa Robot Drivers - Imagen 7 en Python

2. Seleccione Robot Drivers - Imagen 8Ejecutar en el robot

El programa debe comenzar a ejecutarse en el robot y el estado de conexión del robot será actualizado en consecuencia.

Robot Drivers - Imagen 9Robot Drivers - Imagen 10

 

Si el programa se ejecuta fuera de la interfaz gráfica de usuario de RoboDK (para fines de depuración, o si estamos utilizando la API RoboDK para C#, por ejemplo), podemos establecer el uso de RunModeRDK.setRunMode para RUNMODE_RUN_ROBOT. Esto forzará a que el programa se ejecute en el robot. También es posible establecer la conexión utilizando robot.Connect().

El siguiente código muestra un breve ejemplo para establecer una conexión con el robot directamente desde la API:

# Start the RoboDK API

RDK = Robolink()

robot = RDK.Item('',ITEM_TYPE_ROBOT)

 

# Connect to the robot using default connetion parameters

success = robot.Connect()

status, status_msg = robot.ConnectedState()

if status != ROBOTCOM_READY:

# Stop if the connection did not succeed

raise Exception("Failed to connect: " + status_msg)

 

# Set to run the robot commands on the robot

RDK.setRunMode(RUNMODE_RUN_ROBOT)

# Note: This is set automatically if we use

# robot.Connect() through the API

 

# Move the robot:

robot.MoveJ([10,20,30,40,50,60])

prog = RDK.Item('MainProgram', ITEM_TYPE_PROGRAM)

prog.setRunType(PROGRAM_RUN_ON_ROBOT) # Set the run on robot option

# Set to PROGRAM_RUN_ON_SIMULATOR to run on the simulator only

prog.RunProgram()

while prog.Busy() == 1:

pause(0.1)

print("Program done")


 

Personalizar los Controladores del Robot

Los controladores de robot se encuentran en la carpeta /RoboDK/api/Robot/ por defecto. RoboDK vincula a un controlador específico en la configuración de conexión de robot:

1. Haga clic derecho en un robot

2. Seleccione  Robot Drivers - Imagen 11 Conectar al robot ...

3. Seleccione Más opciones...

4. Localice o introduzca la trayectoria de la ruta del controlador en la sección de Ruta del controlador

Un controlador de robot es una aplicación de consola independiente. Los controladores de robot se pueden desarrollar utilizando cualquier plataforma de programación, por ejemplo, estos pueden ser un módulo de Python (formato PY) o cualquier programa ejecutable construido con cualquier IDE.

Robot Drivers - Imagen 12Robot Drivers - Imagen 13

El controlador de robot permite la comunicación con un robot a través de la línea de comandos. Los mismos comandos que se pueden ejecutar manualmente también son utilizados por RoboDK para conducir el robot desde el PC. Cada controlador de robot se puede ejecutar en modo consola para probarlo.

Un controlador de ejemplo Python (apimecademic.py) con su código fuente para el control de robots Mecademic está disponible en C:/RoboDK/bin/robot/.

Haga doble clic en el archivo apimecademic.py para ejecutar el módulo en modo consola (Python debe estar instalado). El controlador esperará nuevas órdenes. Por ejemplo, podemos escribir el siguiente comando para conectar con el robot provisto de una IP y un puerto de comunicación:

CONNECT 192.168.100.1 10000

Si la conexión tiene éxito deberíamos ver un mensaje SMS:Listo. Entonces, podemos escribir el siguiente comando para recuperar las articulaciones del robot actuales:

CJNT

También podemos escribir otros comandos como MOVJ, MOVL o SETTOOL para mover el robot o actualizar el protocolo TCP:

MOVJ 10 20 30 40 50 60

Robot Drivers - Imagen 14

Algunos robots soportan el monitoreo de la posición de la articulación en tiempo real. En este caso, es posible proporcionar retroalimentación de posición de la articulación al moverse el robot mediante el envío de la orden JNTS_MOVING. Cuando el controlador se ejecuta desde RoboDK, el robot virtual seguirá el movimiento del robot real en tiempo real. Un nuevo comando no será procesado hasta que se envíe el mensaje Preparado.

La interacción con la consola y la conexión con el robot son gestionadas por el módulo de Python para el controlador Mecademic. La interacción con la consola debe ser la mismo para todos los robots, como se describe en esta sección. Sin embargo, la interacción con cada robot depende del fabricante del robot, en este caso nos referimos al Manual de programación del Meca 500 para enviar los comandos apropiados para mover y controlar el robot Meca 500.


 

Solucionador de Problemas

Configurar el controlador de robot podría no ser tan simple como generar programas fuera de línea (programación fuera de línea). Si la conexión no funciona, los siguientes pasos proporcionan algunos consejos para encontrar la fuente de los problemas:

1. Asegúrese de que la IP del robot sea correcta: Seleccione el botón de ping desde el menú de conexión del robot (o ping al robot a través de la línea de comandos) Para asegurarse de que el robot y el equipo están en la misma  red

2. Establezca una IP estática para el equipo si el robot y el equipo no están en la misma red

3. Asegúrese de que el corta fuegos en el computador esté apagado para evitar el bloqueo de las conexiones

4. Asegúrese de que el puerto de comunicación sea apropiado y esté disponible del lado del robot

5. Asegúrese de que las instrucciones adecuadas sean seguidas en el controlador del robot en función del modelo de controlador

6. Haga doble clic en Desconectar en la ventana de conexión del robot para obligar al controlador a detenerse, entonces, seleccione conectar de nuevo para probar una nueva conexión

Prueba Ping

Una prueba de ping pondrá a prueba  la accesibilidad de un robot en una red de Protocolo de Internet (IP).

Siga estos pasos para realizar una prueba de ping en Windows:

1. Abra una nueva ventana de consola mediante la selección Robot Drivers - Imagen 15 (Tecla de Windows+R)

2. Escriba cmd y seleccione Aceptar

3. Escriba ping IP, (donde la IP debe ser la IP de su robot). Ejemplo:
ping 192.168.125.2

Deberíamos ver una respuesta similar a la imagen con una pérdida de señal de 0%

Robot Drivers - Imagen 16

Si no hay comunicación hay que verificar que el IP del robot y el PC están en la misma red de área local (LAN). Puede ser que sea necesario desactivar el Firewall de Windows o añadir una regla para permitir la comunicación.

Establecer una IP Estática

Siga estos pasos para cambiar la IP de un computador:

1. Seleccione Inicio de WindowsPanel de controlRedes e InternetConexiones de red

2. Haga doble clic en la tarjeta de conexión de área local

3. Seleccione Propiedades.

4. Seleccione Protocolo de Internet versión 4 (TCP/IPv4)

5. Seleccione Propiedades

6. Introduzca la dirección IP del computador de acuerdo con el robot IP y una máscara de subred.

Robot Drivers - Imagen 17