Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Comunicacin entre
RobotStudioLeapmotion para el
control de robot industrial
Pedro Andrey Can (1), Pedro Crdenas (2), Oscar Rodrguez (3)
(1) pacanonj@unal.edu.co
Ingeniera Mecatrnica Universidad Nacional de Colombia
Bogot, Colombia
(2) pfcardenash@unal.edu.co
Profesor Asociado, Universidad Nacional de Colombia
Bogot, Colombia
(3) oscar.rodriguez@uptc.edu.co
Profesor, Universidad Pedaggica y Tecnolgica de Colombia
MEMORIAS
Comunicacin entre
RobotStudioLeapmotion para el
control de robot industrial
RESUMEN
E
Palabras clave: n este artculo se muestra el trabajo desarrollado para
Telerobtica; interaccin, lograr la comunicacin entre una aplicacin desarrollada
manipulador; LeapMotion; en Windows, el programa RobotStudio y el controlador
SDK ABB; Pythonfor Net IRC5 de la marca ABB. La aplicacin desarrollada implementa
dos kits de desarrollo de software (SDK); uno de estos permite
obtener datos del dispositivo Leapmotion el cual detecta la
posicin de la mano y retorna una coordenada en el espacio,
el otro kit de desarrollo permite la manipulacin de datos
RAPID (Lenguaje de programacin implementado por ABB)
y el envo de comandos de ejecucin desde la aplicacin al
programa RobotStudio y al controlador IRC5.
MEMORIAS
El artculo esta organizado como sigue, en las de mensajes JSON( JavaScript Object Notation). Un
Seccin II se describe la configuracin del sistema, cliente JavaScript es habilitado para el uso de men-
en la seccin III se muestra la integracin de los di- sajes JSON y destina el seguimiento de datos como
ferentes componentes como una sola aplicacin. Fi- un objeto JavaScript. Figura 3.
nalmente en la seccin V se presentan los resultados
Fig. 2: Arquitectura Interfaz Propia LeapMotion
y conclusiones de la aplicacin desarrolla.
II. ARQUITECTURA DEL SISTEMA
Cuando RobotStudio se utiliza con controladores trolador deseado y poder asignar una posicin (x, y,
reales, se conoce como el modo online. Al trabajar z) de forma manual, que corresponder a la posicin
sin conexin a un controlador real o mientras est del efector final de robot en lnea con el controlador.
conectado a un controlador virtual, se dice que Ro- El objetivo de la aplicacin de consola es selec-
botStudio se encuentra en el modo fuera de lnea.[9] cionar de manera automtica un controlador en li-
PC SDK permite a los integradores de sistemas, nea y detectar la posicin de la mano mediante el
terceros o usuarios finales aadir sus propias interfa- sensor Leap Motion. Las coordenadas obtenidas se-
ces de operador personalizadas para el controlador ran enviadas al controlador del robot de modo que
IRC5. Tales aplicaciones personalizadas se pueden este replique el desplazamiento de la mano.
realizar como aplicaciones de PC independientes, Para ambas aplicaciones se sigue el diagrama de
que se comunican con el controlador de robot so- flujo mostrado en la figura 4. En la aplicacin de in-
bre una red. terfaz la lectura de la coordenada se realiza de un
Se debe esperar un tiempo de respuesta mnimo dato ingresado por el usuario final y en la aplicacin
para un controlador real en el orden de 10-100 mili- de consola este dato es provisto por el sensor Leap
segundos, lo que significa que duras exigencias de Motion de manera automtica.
tiempo real no pueden ser satisfechas en cualquier Cada aplicacin se ejecuta en paralelo con un
plataforma. [10] programa en lenguaje RAPID cargado previamente
I I I. D E S C R I P C I N D E S O F T WA R E E en el controlador, ya sea virtual o real, este progra-
I M P L E M E N TA C I N ma debe tener definidas la variables de manera glo-
bal que van estar sujetas a modificacin posterior
A. Configuracin
por parte de la aplicacin. El programa RAPID se
No fue necesaria ninguna configuracin espe- mantendr en ejecucin hasta que la aplicacin le
cifica para realizar las aplicaciones en C# ya que Vi- enve una seal de stop. El diagrama correspondien-
sualStudio provee las herramientas necesarias para te a este programa se puede observar en la figura 5.
el desarrollo de las mismas. En el caso de las apli-
caciones desarrolladas en Python posteriormente a C. Operacin
la instalacin se necesito descargar varios comple- El programa del Leap Motion se configura tipo
mentos que se listan a continuacin: interrupcin de manera que cada vez que el usuario
PyQt4 Permite el uso de interfaces desarrolla- ingrese la mano en el campo de lectura del sensor
das en QtCreator se ejecute una rutina la cual es la encarga de leer el
Pythonfor.NET Permite el uso de libreras de C dato de la posicin de la palma de la mano, trans-
# en Python formar las coordenadas obtenidas al espacio de tra-
bajo del robot y finalmente enviar estos valores al
B. Programas desarrollados cdigo RAPID.
La metodologa implementada para el desarrollo El movimiento del robot se programa mediante
de la aplicacin se realiz en dos lenguajes de pro- la instruccin MoveL que desplaza el TCP con una
gramacin distintos, C# y Python, en ambos lengua- orientacin constante de manera lineal. Los parme-
jes se cre una aplicacin de consola y una aplica- tros necesarios para ejecutar la instruccin son un
cin de interfaz generada por VisualStudio para C#y dato robtarget, que contiene la informacin del pun-
QtCreator para Python. to al que se desea ejecutar el desplazamiento con
El objetivo de la aplicacin con interfaz es listar una orientacin definida, un parmetro de velocidad
todos los controladores tanto virtuales como reales y un dato que contiene la informacin de herramien-
que este en lnea con el host y mostrar las caracte- ta usada. Uno de los parmetros del dato robtarget
rsticas de cada uno, para luego seleccionar el con- es una variable de tipo pos; esta variable contiene
MEMORIAS
las tres coordenada del punto al cual se quiere des- denada enviada en el espacio operacional del robot.
plazar. Desde la aplicacin se accede va Ethernet al El tiempo mnimo se obtuvo enviando una coorde-
controlador de robot y es cambiado el valor de la va- nada muy cercana a la posicin inicial, para esta
riable tipo pos, de modo que cada vez que se ingrese prueba se aumento solo la coordenada x en 0.1 mm
un nuevo valor el robot se desplace a este. y se obtuvo un tiempo aproximado de 60 ms. Este
Fig. 4. Diagrama de flujo de la aplicacin tiempo hace referencia al tiempo de comunicacin
y al tiempo que toma ejecutar la instruccin de mo-
vimiento; dichas pruebas se realizaron variando el
parmetro de velocidad del robot y se obtuvieron
valores similares. El cdigo implementado en RAPID
se puede observar a continuacin y la interfaz en la
figura 6. Respecto a la relacin entre el movimiento
de la mano dentro del espacio de captura del sensor
y el movimiento en el espacio operacional del robot
es ajustada a travs de escalizacin, sin embargo
para determinar la precisin en los movimientos no
se cont con elementos externos de medicin por
tanto hacer una relacin entre el movimiento de la
mano el extremo del efetor no tiene lugar.
V. C O N C LU S I O N E S AGRADECIMIENTOS
MEMORIAS