martin mellado arteche virtualrobot mediante · vrs loader 10 5. vrs teachpendant 12 6. vrs...

21
Simulación en robótica mediante VirtualRobot Introducción al sistema de simulación gráfica de robots VRS 1 Departamento de Ingeniería de Sistemas y Automática Universidad Politécnica de Valencia Simulación en robótica mediante VirtualRobot Martin Mellado Arteche Facultad de Informática Edición Octubre, 2004 DISA UPV 2 Introducción al sistema de simulación gráfica de robots VRS Contenido INTRODUCCIÓN AL SISTEMA DE SIMULACIÓN GRÁFICA DE ROBOTS VRS 3 1. INTRODUCCIÓN 4 2. VIRTUALROBOT SIMULATOR (VRS) 4 3. INTERFAZ GRÁFICO DE USUARIO DE VRS 5 4. VRS LOADER 10 5. VRS TEACHPENDANT 12 6. VRS TRACECONTROL 20 7. VRS IOCONNECTION 21 8. VRS PARTHANDLING 22 9. VRS SPEEDCONTROL 24 10. VRS VIDEORECORDER 25 11. APLICACIONES DE DEMOSTRACIÓN 26 A. CONFIGURACIÓN DE VRS 27 INTRODUCCIÓN AL SISTEMA DE MODELADO GRÁFICO PARA ROBÓTICA VRM 29 1. OBJETIVO 30 2. INTRODUCCIÓN. APLICACIONES DE VRM 30 3. MODELADO DE OBJETOS CON VRM EDITOR. 30 4. MODELADO DE ENTORNOS CON OBJETOS 34 5. MODELADO DE PIEZAS Y DE ENTORNOS CON PIEZAS 35 6. OPERACIÓN SOBRE LAS PIEZAS EN VRS 36 7. EJERCICIOS PRÁCTICOS 37 A. DEFINICIÓN DE PRIMITIVAS 39 B. FORMATO DE FICHEROS 40

Upload: lynguyet

Post on 21-Sep-2018

267 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Martin Mellado Arteche VirtualRobot mediante · VRS LOADER 10 5. VRS TEACHPENDANT 12 6. VRS TRACECONTROL 20 7. VRS IOCONNECTION 21 8. VRS PARTHANDLING 22 9. VRS SPEEDCONTROL 24 10

Simulación en robótica mediante VirtualRobot

Introducción al sistema de simulación gráfica de robots VRS 1

Departamento de Ingeniería de Sistemas y Automática

Universidad Politécnica de Valencia

Simulación en robótica mediante

VirtualRobot

Martin Mellado Arteche

Facultad de Informática Edición Octubre, 2004

DISA UPV

2 Introducción al sistema de simulación gráfica de robots VRS

Contenido INTRODUCCIÓN AL SISTEMA DE SIMULACIÓN GRÁFICA DE ROBOTS VRS 3 1. INTRODUCCIÓN 4 2. VIRTUALROBOT SIMULATOR (VRS) 4 3. INTERFAZ GRÁFICO DE USUARIO DE VRS 5 4. VRS LOADER 10 5. VRS TEACHPENDANT 12 6. VRS TRACECONTROL 20 7. VRS IOCONNECTION 21 8. VRS PARTHANDLING 22 9. VRS SPEEDCONTROL 24 10. VRS VIDEORECORDER 25 11. APLICACIONES DE DEMOSTRACIÓN 26 A. CONFIGURACIÓN DE VRS 27 INTRODUCCIÓN AL SISTEMA DE MODELADO GRÁFICO PARA ROBÓTICA VRM 29 1. OBJETIVO 30 2. INTRODUCCIÓN. APLICACIONES DE VRM 30 3. MODELADO DE OBJETOS CON VRM EDITOR. 30 4. MODELADO DE ENTORNOS CON OBJETOS 34 5. MODELADO DE PIEZAS Y DE ENTORNOS CON PIEZAS 35 6. OPERACIÓN SOBRE LAS PIEZAS EN VRS 36 7. EJERCICIOS PRÁCTICOS 37 A. DEFINICIÓN DE PRIMITIVAS 39 B. FORMATO DE FICHEROS 40

Page 2: Martin Mellado Arteche VirtualRobot mediante · VRS LOADER 10 5. VRS TEACHPENDANT 12 6. VRS TRACECONTROL 20 7. VRS IOCONNECTION 21 8. VRS PARTHANDLING 22 9. VRS SPEEDCONTROL 24 10

Simulación en robótica mediante VirtualRobot

Introducción al sistema de simulación gráfica de robots VRS 3

Introducción al sistema de simulación

gráfica de robots VRS

DISA UPV

4 Introducción al sistema de simulación gráfica de robots VRS

1. Introducción El uso de la programación textual de robots de forma off-line corre el riesgo de que los programas desarrollados se prueban en el robot sin conocer a ciencia cierta si van a funcionar correctamente. De ahí surge la necesidad de disponer de sistemas de simulación gráfica que permitan conocer previamente el resultado de la ejecución de un programa para poder depurarlo. Si bien esta práctica reducirá enormemente la posibilidad de cometer errores en los programas, así como facilitará el desarrollo de los mismos, hay que tener claro que no garantiza que lo que se realiza en un mundo virtual en un ordenador se corresponda fielmente con lo que ejecute el robot en el mundo real, debido a las divergencias que hay entre el modelo del robot y éste mismo, así como de los elementos de su entorno. El objetivo de este guión es conocer un sistema de simulación y programación off-line de robots para posteriormente, en guiones sucesivos, aprender a programarlo para poder desarrollar aplicaciones industriales típicas. Para ello se utilizará el programa VirtualRobot Simulator (VRS) que permite su programación en C/C++. En este guión se muestra un tutorial para el aprendizaje de dicho programa con una serie de tareas a realizar. 2. VirtualRobot Simulator (VRS) VirtualRobot Simulator (VRS) es un simulador multipropósito diseñado para la simulación de robots, desarrollado por el grupo de investigación en robótica (http://robotica.isa.upv.es) del Departamento de Ingeniería de Sistemas y Automática (DISA) de la Universidad Politécnica de Valencia (UPV). Su objetivo está orientado tanto para aplicaciones industriales como para usos de investigación y propósitos educativos. VRS es básicamente una aplicación de modelado gráfico con prestaciones específicas para la simulación de robots que dispone de la posibilidad de generar programas de aplicaciones externas (programas ejecutables Windows) para su control. De hecho, muchas de las opciones de su interfaz están desarrolladas como aplicaciones externas llamadas VRS Tools. Además de las posibilidades de simulación directa con el programa y las VRS Tools, permite la programación de las acciones de robots virtuales con programas desarrollados en C y/o C++. VRS Permite añadir un entorno al robot con piezas que el robot puede manipular actuando con una pinza y que se pueden tomar como referencia de movimientos de los robots. VRS se desarrolló inicialmente con el objetivo de ser una herramienta de monitorización de robots controlados por el sistema de control Generis, desarrollado por el Joint Research Centre (JRC), por lo que permite conectarse con dicho sistema y representar gráficamente la situación en que se encuentra el robot controlado por Generis.

2.1. Instalación de VRS El instalador del software VirtualRobot se encuentra disponible en la página web http://robotica.isa.upv.es/virtualrobot. Existen opciones de instalación para configurarla. Para arrancar el programa VRS, en la versión por defecto del instalador se crea un acceso directo al mismo en Inicio>>Programas>>Virtual Robot>>VRS. Se recomienda que antes de cerrar el programa VRS se cierren todas las aplicaciones externas que se encuentren en ejecución, incluidas la VRS Tools. En otro caso, algunas de estas aplicaciones pueden producir error de Timeout1 en comunicación con VRS.

1 En el apéndice A se muestra como ajustar los posibles valores de Timeout.

Page 3: Martin Mellado Arteche VirtualRobot mediante · VRS LOADER 10 5. VRS TEACHPENDANT 12 6. VRS TRACECONTROL 20 7. VRS IOCONNECTION 21 8. VRS PARTHANDLING 22 9. VRS SPEEDCONTROL 24 10

Simulación en robótica mediante VirtualRobot

Introducción al sistema de simulación gráfica de robots VRS 5

2.2. Estructura de directorios creados para trabajar con VRS En la instalación del software VirtualRobot, se habrá especificado el directorio de instalación del programa ejecutable de VRS. Denominando a este directorio VRPATH, por defecto el instalador lo toma como “C:\Archivos de programa\Virtual Robot\VRS”. En el directorio VRPATH está el programa ejecutable de VRS. En carpetas se encuentran el resto de componentes del software VirtualRobot, destacando las siguientes: � Applications. Donde se encuentran las diferentes aplicaciones que se ejecutan sobre VRS,

como por ejemplo, VRS Tools, VRM Tools, Demos, etc guardadas en diferentes carpetas. En la carpeta Applications\Users se deben guardar las aplicaciones desarrolladas por el usuario del programa.

� Models. Donde se encuentran los modelos de robots, crafts, entornos y demás que se pueden utilizar en VRS guardados en diferentes carpetas. En la carpeta Models\Users (o cualquier subcarpeta con nombre Users) se deben guardar todos los modelos desarrollados por el usuario del programa.

� SourceCode. Donde se encuentran los ficheros de interface y definición de las librerías para desarrollar nuevas aplicaciones haciendo uso de ellas. En la carpeta SourceCode\Users se debe guardar los proyectos de las aplicaciones con los programas fuentes desarrollados por el usuario del programa.

Siguiendo esta filosofía (guardar las aplicaciones, modelos y proyectos fuente en las carpetas Users) para transportar el desarrollo de un usuario bastará con copiar el contenido de estas carpetas y copiarlo a cualquier otro ordenador en el mismo lugar. 3. Interfaz Gráfico de Usuario de VRS

3.1. Carga de robots Al arrancar el programa, tras una ventana de presentación, se muestra la ventana de la aplicación vacía y la ventana VRS Tool denominada VRS Loader2. Esta aplicación servirá para cargar robots. VRS es multi-robot, es decir, admite la simulación de múltiples robots simultáneamente. Los robots, en VRS, vienen descritos mediante dos ficheros del mismo nombre. En el primero, con extensión RKF (Robot Kinematics File), se indican algunos parámetros generales así como una descripción de su cinemática. Este es el fichero que se debe cargar. El segundo fichero, con extensión RGF (Robot Geometric File), contiene la descripción geométrica del robot y su carga se realiza de forma automática junto con el fichero de la cinemática. La descripción de los ficheros está especificada en el documento VRFFD. Tarea 3.1: Carga un robot en VRS mediante los siguientes pasos: � Selecciona el botón de VRS Loader � Selecciona en la carpeta Models\Tutorial el fichero de robot CRS A465.rkf. El resultado final debe ser el mostrado en la Figura 1.

2 En el apéndice A se muestra que las aplicaciones VRS Tool se pueden configurar para que se arranquen automáticamente o no, por lo que podría darse el caso de que no apareciera o no estuviera disponible, en cuyo caso habrá que reconfigurar VRS o lanzarlo tal como se explica posteriormente.

DISA UPV

6 Introducción al sistema de simulación gráfica de robots VRS

Figura 1. Robot CRS A465 en VRS La aplicación dispone de: � Una lista de menús en la parte superior donde se encuentran las opciones organizadas

jerárquicamente. � Una barra de herramientas, Toolbar3, en la parte superior para el control de la ventana

gráfica. � Una barra de estado, Statusbar, en la parte inferior para mostrar mensajes de estado y

error así como el nombre del robot activo y su estado. � Una ventana gráfica en la parte central que en principio dispone de cuatro marcos gráficos

con planta, alzado, perfil y perspectiva. En la ventana gráfica se muestra el robot cargado y en la parte inferior izquierda, en todo momento4 aparecerá sobrescrito la información dinámica del robot activo: � el valor actual de las variables de articulación, mostradas como J1 valor, J2 valor, ... � la localización del sistema de herramienta activo (tool frame) respecto al sistema origen de

programación (con orientación representada por ángulos de Euler tipo 2), mostrada como X valor, Y valor, Z valor, A valor, B valor, C valor

� el sistema de herramienta activo (TF valor), la herramienta activa (T valor), el estado de la herramienta activa (TS valor) y el estado de la velocidad del robot (S valor)

� según la configuración del programa puede aparecer la orientación en cuaterniones (Q1 valor, ... Q4 valor) y la descripción de la configuración del robot (CF1 valor, CF4 valor, CF6 valor).

Nótese que, según cómo esté configurado VRS, en la pinza del robot pueden aparecer el sistema de coordenadas activo de la herramienta activa mediante tres ejes con los colores rojo,

3 Tanto Toolbar como Statusbar se pueden ocultar o hacer visibles con las opciones correspondientes del menú Windows. Además, Toolbar puede arrastrarse y manejarse como una ventana Windows. 4 Posteriormente se verá que esta visualización se puede activar/desactivar.

Page 4: Martin Mellado Arteche VirtualRobot mediante · VRS LOADER 10 5. VRS TEACHPENDANT 12 6. VRS TRACECONTROL 20 7. VRS IOCONNECTION 21 8. VRS PARTHANDLING 22 9. VRS SPEEDCONTROL 24 10

Simulación en robótica mediante VirtualRobot

Introducción al sistema de simulación gráfica de robots VRS 7

verde y azul (RGB), que representan los ejes X, Y y Z respectivamente de dicho sistema. Posteriormente se verá que esta visualización se puede activar/desactivar.

3.2. Opciones de visualización VRS dispone de una barra de herramientas, denominada Toolbar, con controles para configurar la forma de mostrar la información gráfica. Estos controles tienen su equivalente en los menús Display o Windows (además algunas disponen de teclas función para su acceso). Las principales opciones son las siguientes: Configuración de la ventana gráfica La ventana gráfica se encuentra dividida en cuatro regiones iguales. Esto permite disponer de cuatro puntos de vista distintos de la misma escena, con lo que se logra una completa visualización de los distintos elementos presentes en la simulación. Debido a diversos aspectos de la simulación, es posible que surja la necesidad de configurar de otra forma la ventana gráfica. VRS ofrece cuatro formas de configuración: Una sola vista que ocupa toda la ventana gráfica, cuatro vistas que dividen la ventana en cuatro partes iguales, dos vistas que dividen la ventana gráfica horizontalmente en dos partes iguales y dos vistas que dividen la ventana gráfica verticalmente en dos partes iguales. Estas opciones son seleccionables desde el menú principal, dentro del menú Windows, y desde Toolbar:

Menú Windows Toolbar 1 Window

4 Windows

2 Horizontal Windows

2 Vertical Windows

Independientemente de la configuración elegida, siempre hay una de las vistas o regiones que se encuentra seleccionada. Esta selección se muestra resaltando en color blanco el marco que rodea cada vista, e indica sobre que región se van a efectuar los cambios de visualización que elijamos, como por ejemplo la opción Windows>>Maximize. Maximize permite ampliar la ventana seleccionada hasta ocupar la total extensión de la ventana gráfica. Desactivando esta opción se vuelve a la configuración que estuviera anteriormente.

Menú Windows Toolbar Maximize

Color del fondo El color de fondo la ventana gráfica, que inicialmente aparece en negro, es modificable, aunque este es siempre igual para todas las vistas o regiones de la misma. El comando que permite esta configuración se encuentra en el menú Windows, así como en la barra de herramientas:

Menú Windows Toolbar Acción Background Color...

Cambia el color del fondo de la ventana gráfica

Visualización de la información dinámica La información dinámica del robot activo se puede activar o desactivar mediante la opción Display>>Dynamic Info o el botón equivalente del Toolbar. Selección de la ventana gráfica Varias de las opciones sobre ventanas gráficas se aplican sobre la ventana seleccionada. Para seleccionar una ventana hay que pulsar el botón derecho del ratón (para cancelar cualquier acción activa) y pulsar con el botón izquierdo sobre la ventana que se desea seleccionar.

DISA UPV

8 Introducción al sistema de simulación gráfica de robots VRS

Selección y modificación de los puntos de vista Al inicializar VRS, la ventana gráfica aparece dividida en cuatro regiones. Al cargar algún elemento en el simulador, se puede comprobar que el tipo de proyección y el punto de vista varia entre las diferentes vistas. Inicialmente la disposición es la siguiente:

Región Proyección Punto de Vista Superior Izquierda Ortogonal Izquierda Superior Derecha Ortogonal Frontal Inferior Izquierda Ortogonal Superior Inferior Derecha Perspectiva Libre5

La proyección y el punto de vista son modificables desde el menú Display y desde Toolbar. Los comandos de cambio de proyección y puntos de vista predefinidos se ven enriquecidos con opciones que permiten ajustar la visión según la necesidad del caso a tratar. Estas opciones (Zoom, Scroll, Reference Point, Point of View...), junto con los comandos de cambio de proyección se resumen en la siguiente tabla:

Menú Display Toolbar Acción Zoom Acerca el punto de vista al plano de proyección, desplazando el

puntero de abajo a arriba mientras se mantiene pulsado el botón izquierdo del ratón

Scroll Desplaza la imagen que se está visualizando. Desplazamientos del ratón, con el botón izquierdo pulsado, a derecha/izquierda o arriba/abajo, desplazan la imagen en ese sentido

Point of View Modifica el punto de vista en la ventana seleccionada si ésta posee proyección en perspectiva. Mientras se mantiene pulsado el botón izquierdo del ratón, realizar desplazamientos laterales para modificar la longitud y verticales para la latitud

Reference Point

Modifica el punto de interés en la ventana seleccionada si ésta posee proyección en perspectiva. Con movimientos del ratón (con el botón izquierdo pulsado) se varía el punto de interés

Display Parameters...

Permite modificar los parámetros de vista de la ventana seleccionada, si ésta posee proyección en perspectiva. Al ejecutar esta opción se despliega un diálogo donde se pueden modificar el punto de interés, el punto de vista, la relación entre ellos en polares (tecta,fi,ro) y los parámetros de cámara (near plane, far plane y fov)

Projections>> Orthogonal>>Front Muestra la vista frontal, con proyección ortogonal Orthogonal>>Back Muestra la vista trasera, con proyección ortogonal Orthogonal>>Left Muestra la vista lateral izquierda, con proyección ortogonal Orthogonal>>Right Muestra la vista lateral derecha, con proyección ortogonal Orthogonal>>Up Muestra la vista superior, con proyección ortogonal Orthogonal>>Down Muestra la vista inferior, con proyección ortogonal Perspective Muestra una proyección en perspectiva VRS se inicializa por defecto con el modo de sombreado sólido. El simulador posee también la opción de visualizar los elementos cargados en modo alámbrico, con líneas ocultas o en modo render (únicamente para los robots o elementos del entorno que contienen información de renderizado en sus ficheros de definición). El modo de sombreado se puede modificar de forma independiente para cada ventana. Esta operación se realiza seleccionando la ventana a la que se desea cambiar el modo y ejecutando a continuación unas de las opciones, bien sean dentro de la barra de herramientas o bien en el menú Windows, que se muestran a continuación.

5 VRS puede cambiar automáticamente el punto de vista (desde donde mira la cámara) y el punto de referencia (punto al que mira la cámara) cada vez que se cargue un robot o entorno en función del tamaño del robot o entorno cargado.

Page 5: Martin Mellado Arteche VirtualRobot mediante · VRS LOADER 10 5. VRS TEACHPENDANT 12 6. VRS TRACECONTROL 20 7. VRS IOCONNECTION 21 8. VRS PARTHANDLING 22 9. VRS SPEEDCONTROL 24 10

Simulación en robótica mediante VirtualRobot

Introducción al sistema de simulación gráfica de robots VRS 9

Menú Display Toolbar Modo de Sombreado Wired

Alámbrico

Shaded

Sombreado

Hidden Lines

Líneas Ocultas

Rendered

Renderizado Visualización del suelo Con la opción Display>>Floor Parameters... (o el botón

del Toolbar) se permite seleccionar el modo de visualización del suelo. El diálogo de control de esta opción es el que se muestra a la derecha, con las opciones siguientes: • Con la opción Plane activa se mostrará un suelo, bien

en modo sólido (Solid activo), alámbrico (Wired activo) o ambos (ambos activos).

El tamaño del suelo se elige con los campos X min, X max, Y min, Y max. El número de divisiones alámbricas se elige con el campo Divisions number (by side):

Con los botones Solid Color y Wire Color se puede elegir el color del suelo y de las líneas alámbricas.

Visualización de sistemas de coordenadas Un robot dispone de los siguientes sistemas de coordenadas: � Sistema de Coordenadas del Robot (ROBOT FRAME). � Sistema de Coordenadas Origen de Programación (PROGRAM ORIGIN). � Un Sistema de Coordenadas propio de cada articulación (JOINTS). � Los sistemas de coordenadas de herramienta (TOOL FRAME). En el fichero rkf de

descripción de un robot pueden haberse definido varios, pero el cargado como activo por defecto siempre es el Tool Frame 0.

Por defecto, sólo se visualiza en pantalla el sistema de coordenadas de la herramienta. Para ver donde están otros sistemas de coordenadas, o incluso para no ver el sistema de la herramienta, se dispone del botón del Toolbar (opción del menú Display>>Frames...) que abre un diálogo que permite seleccionar los sistemas de coordenadas a mostrar así como escalar su tamaño. El diálogo se muestra a la derecha. Los sistemas de coordenadas son representados con los ejes X,Y,Z de color rojo, verde y azul (RGB). Además de las opciones enumeradas anteriormente, la opción PARTS, que se comentará posteriormente, posibilita ver los sistemas de coordenadas de operación de las piezas del entorno. La opción Frames Size: 100 % permite ajustar el tamaño de los ejes en visualización. Tarea 3.2: � Pulsa el botón derecho del ratón para cancelar cualquier opción activa. � Pulsa el botón izquierdo en la vista de perspectiva (inferior derecha) para seleccionarla

(marco debe quedar resaltado en azul). � Maximiza la ventana de perspectiva ( ). � Prueba la visualización en alámbrico ( ), líneas ocultas ( ) y sombreado ( ). � Activa el zoom ( ) y pulsando el botón izquierdo mueve el ratón arriba y abajo. � Activa el punto de vista ( ) y pulsando el botón izquierdo mueve el ratón libremente.

DISA UPV

10 Introducción al sistema de simulación gráfica de robots VRS

� Pulsa el botón de punto de referencia ( ) y pulsando el botón izquierdo mueve el ratón libremente.

� Pulsa el botón de parámetros de visualización ( ) e introduce como punto de referencia las coordenadas donde se encuentra el sistema de coordenadas de la herramienta (aparecen listadas en X,Y,Z en la parte inferior izquierda de la ventana gráfica).

� Prueba las opciones zoom y punto de vista para comprobar que la cámara está mirando a dicho sistema de coordenadas.

� Desactiva la visualización del suelo. � Visualiza los sistemas de coordenadas del robot y la herramienta a tamaño 500% y deduce

donde se encuentran localizados. � Activa la visualización del suelo, probando como se muestra el plano, cambiando los colores

y dejando al final la configuración de partida.

3.3. Ejecución de una aplicación externa en VRS En VRS se pueden ejecutar aplicaciones externas generados en ficheros ejecutables que se comuniquen con VRS mediante la librería VREAL (ver documentación VREAL). Para ello se deben lanzar los programas con la opción File>>Run Application que muestra el diálogo de abrir fichero6. Estas aplicaciones se generan tal como se muestra en el guión titulado “Programación de aplicaciones para VRS”. Básicamente hay cuatro tipos de aplicaciones: � Demostraciones (Demos). Son aplicaciones de demostración de procesos industriales

realizados en VRS. Los ejecutables se encuentran en la carpeta Applications\Demos. Normalmente se ejecutarán desde la opción File>>Demos.

� Herramientas VRS (VRS Tools). Son aplicaciones útiles para el manejo de VRS (unidad de programación, grabación de vídeos, ...). Los ejecutables se encuentran en la carpeta Applications\VRSTools. Normalmente se ejecutarán desde la opción File>>VRS Tools.

� Herramientas VRM (VRM Tools). Son aplicaciones útiles para el modelado de objetos, piezas y entornos en VRS. Los ejecutables se encuentran en la carpeta Applications\VRMTools. Normalmente se ejecutarán desde la opción File>>VRM Tools.

� Aplicaciones de usuario. Son las desarrolladas por los usuarios, cuyos ejecutables es aconsejable que se copien en una carpeta propia del usuario dentro de la carpeta Applications\Users. Se deben ejecutar con la opción File>>Run Application.

4. VRS Loader Para la gestión de las operaciones de carga de robots, de su localización en el espacio y su cierre o eliminación de VRS, así como para la realización de las mismas operaciones sobre el entorno, se dispone de la VRS Tool llamada VRS Loader. VRS Loader es una aplicación externa que sirve para cargar, localizar y cerrar tanto robots como el entorno en que se integran. Como programa externo, su ejecutable VRSLoader.exe se puede ejecutar directamente desde el operativo, estando localizado en la carpeta Applications\VRSTools a partir del directorio de VRS. Sin embargo, en la configuración de instalación por defecto de VRS se encuentra accesible con la opción del menú File>>VRS Tools>>VRS Loader y se ejecuta directamente al arrancar VRS. Una vez ejecutado, es un programa como otro cualquiera, con acceso desde la barra de tareas. Si VRS Loader está en ejecución se volverá a abrir en caso de lanzarse a ejecución de nuevo. Su interfaz es el que se muestra a la derecha, disponiendo, como todas las aplicaciones de tipo VRS Tool, de un menú propio de tipo pop-up, accesible al pulsar sobre la ventana (fuera de los botones) con el botón derecho del ratón, que permite, si se activa la opción Always Visible (como aparece por defecto), tener esta aplicación siempre visible por encima de cualquier otra ventana, incluida la de VRS.

6 También se pueden arrancar directamente los ficheros ejecutables desde el sistema operativo.

Page 6: Martin Mellado Arteche VirtualRobot mediante · VRS LOADER 10 5. VRS TEACHPENDANT 12 6. VRS TRACECONTROL 20 7. VRS IOCONNECTION 21 8. VRS PARTHANDLING 22 9. VRS SPEEDCONTROL 24 10

Simulación en robótica mediante VirtualRobot

Introducción al sistema de simulación gráfica de robots VRS 11

4.1. Carga, localización y cierre de robots Como ya se ha comentado, con VRS Loader se pueden cargar robots en el simulador, localizarlos en el espacio y cerrarlos. Los botones de cada una de estas opciones son los siguientes: VRS Loader Acción

Permite seleccionar un fichero rkf y cargar el robot correspondiente

Permite localizar un robot en el espacio

Permite cerrar uno de los robots cargados en VRS La carga de robots ya se ha explicado y usado al inicio de este guión. Los robots cargados se identifican por su nombre7 y un identificador entero asignado internamente, siendo el primer robot el número 0 y los sucesivos serán 1,2,3... Cuando se carga un robot y su nombre ya está utilizado por uno de los robots cargados, VRS añade un número (1,2,3,...) al nombre del nuevo robot. Existe un límite en el número de robots cargados en VRS, por lo que si se intenta cargar otro robot se mostrará un mensaje de error. En todo momento VRS mantiene un robot como el activo. Cuando se carga un robot, éste pasa a ser el robot activo. El nombre del robot activo se visualiza en la barra de estado y es de éste robot del que se muestra la información dinámica. Los robots se cargan inicialmente con su sistema de coordenadas de robot coincidente con el del mundo de VRS. Sin embargo, esta localización se puede modificar haciendo uso del botón correspondiente de VRS Loader, que si hay algún robot cargado en VRS, mostrará los diálogos siguientes: Robot List: Muestra la lista de robots cargados en VRS. Se podrá cancelar el comando con el botón Cancel o seleccionar un robot de la lista y pulsar OK para localizarlo. Si sólo hay un robot cargado en VRS no se mostrará este diálogo, pasándose directamente al diálogo siguiente. El robot seleccionado se resaltará en pantalla. Place Robot: Solicita una localización mediante tres valores de traslación (X,Y,Z) y tres valores de rotación (ángulos alfa, beta y gamma). Se puede seleccionar el tipo de ángulos de Euler de la entrada entre los tipos 1, 2 y 3 con el campo Type of Input. Se realizará la orden de localización con Ok o se cancelará con Cancel.

Para cerrar los robots, es decir, eliminarlos de VRS, tras seleccionar el botón correspondiente de VRS Loader, se mostrará la lista de robots para seleccionar el robot a cerrar, incluso cuando sólo haya un robot cargado en VRS. Se debe seleccionar un robot y pulsar OK para cerrarlo o se puede cancelar el comando con Cancel. Evidentemente, los botones de localización o cierre de un robot no tienen ningún efecto si no existe un robot cargado.

4.2. Carga, localización y cierre del entorno Los robots se sitúan en celdas de trabajo donde, además de otros robots (incluidos cualquier elemento articulado como cintas transportadoras, mesas giratorias, ...), puede haber diversos objetos que forman el entorno del robot. En VRS el entorno del robot está definido en un fichero

7 El nombre que se especifica en el campo Name de la sección GENERAL de los ficheros rkf y rgf (no el nombre de los ficheros).

DISA UPV

12 Introducción al sistema de simulación gráfica de robots VRS

ENF (ENvironment File, descrito en el documento VRFFD). Estos elementos cumplen dos funciones, actuar como entorno del robot, haciendo más realista la simulación y definir las piezas susceptibles de ser manipulados u operados por los robots. La inclusión del modelo del entorno en una simulación facilita las tareas de la programación off-line. Como ya se ha comentado, con VRS Loader se puede cargar un entorno en el simulador, localizarlo en el espacio, buscarlo, salvarlo y cerrarlo. Los botones de cada una de estas opciones son los siguientes: VRS Loader Acción

Permite seleccionar un fichero enf y cargar el entorno correspondiente

Permite localizar el entorno en el espacio

Permite cerrar el entorno cargado en VRS

Permite buscar un entorno y cargarlo en VRS

Permite salvar el entorno cargado en VRS

Permite cerrar el entorno y todos los robots cargados en VRS

Para cargar un entorno se debe llamar a la opción correspondiente de VRS Loader. Sólo es posible tener un entorno cargado en VRS, por lo que se pedirá confirmación en caso de que ya exista uno. A partir de entonces, el entorno se pueden localizar y cerrar de la misma forma que se hace con los robots, teniendo en cuenta que no aparecerá ninguna lista de entornos al ser éste único. Para localizar el entorno, se dispone del diálogo Place Environment similar al de Place Robot. Para cerrar el entorno se pide confirmación. Para cualquiera de estas opciones, todos los elementos del entorno se resaltarán en pantalla. Evidentemente, los botones de localización o cierre del entorno no tienen ningún efecto si no existe un entorno cargado. El botón para buscar entornos abre una nueva aplicación (VRM Visor) que permite, moviéndose por los directorios con un explorador, visualizar los ficheros entornos para cargarlos en VRS. El botón para salvar entornos Save Environment salva el entorno en un fichero. Finalmente, el último botón cierra, tras pedir confirmación, todos los robots y el entorno que estén cargados en VRS. Todos los elementos a borrar se resaltarán en pantalla. Tarea 4.1: � Carga el entorno CRS Table.enf de la carpeta Models\Tutorial. � Desplaza el robot CRS A465 800 milímetros en Z para que quede encima de la mesa. � Observa, activando la visualización de sistemas de coordenadas necesarias, que el sistema

de coordenadas origen de programación sigue siendo el mismo con relación al robot, pero está situado en otro lugar respecto al sistema universal de VRS.

� Observa los sistemas de coordenadas de operación de las piezas (Parts) activando dicha opción.

Tarea 4.2: � Cierra todo lo cargado en VRS. � Carga el robot CRS A465. � Vuelve a cargar otra vez el mismo robot. � Localiza uno de los robots de forma que quede encarado pero sin solaparse con el otro. 5. VRS TeachPendant Para la gestión de un robot (su movimiento, control de su herramienta, gestión de sus entradas y salidas, ...) se dispone de la VRS Tool llamada VRS TeachPendant. VRS TeachPendant es una aplicación externa que sirve para gestionar robots. Como programa externo, su ejecutable VRSTeachPendant.exe se puede ejecutar directamente desde el operativo, estando localizado en la carpeta Applications\VRSTools a partir del directorio de VRS. Sin embargo, en la

Page 7: Martin Mellado Arteche VirtualRobot mediante · VRS LOADER 10 5. VRS TEACHPENDANT 12 6. VRS TRACECONTROL 20 7. VRS IOCONNECTION 21 8. VRS PARTHANDLING 22 9. VRS SPEEDCONTROL 24 10

Simulación en robótica mediante VirtualRobot

Introducción al sistema de simulación gráfica de robots VRS 13

configuración de instalación por defecto de VRS se encuentra accesible con la opción del menú File>>VRS Tools>>VRS Teach Pendant, si bien no se ejecuta directamente al arrancar VRS. Una vez ejecutado, es un programa como otro cualquiera, con acceso desde la barra de tareas. Nótese que esta aplicación no se puede ejecutar si no hay ningún robot cargado. Su interfaz es el que se muestra a la derecha, disponiendo, como todas las aplicaciones de tipo VRS Tool, de un menú propio de tipo pop-up, accesible al pulsar sobre la ventana (fuera de la zona de pestañas) con el botón derecho del ratón, que permite, si se activa la opción Always Visible (como aparece por defecto), tener esta aplicación siempre visible por encima de cualquier otra ventana, incluida la de VRS8. La aplicación dispone de seis diálogos organizados por pestañas, un botón de aceptar y uno de cancelar. Para pasar de un diálogo a otro, hay que pulsar en la pestaña situada en la parte superior que contiene el nombre de la misma. A diferencia del resto de VRS Tools, VRS TeachPendant se puede abrir varias veces para poder controlar diferentes robots simultáneamente.

5.1. Diálogo Robot Selection El diálogo Robot Selection permite seleccionar uno de los robots disponibles y configurar su estado. Los campos disponibles se listan a continuación: � Available Robots: muestra el robot que gestionará VRS TeachPendant, permitiendo

seleccionar otro de la lista de robots cargados en VRS. � Refresh: actualiza la lista de robots. Si con otra aplicación, por ejemplo VRS Loader, se

cargan nuevos robots, resulta necesario actualizar en VRS TeachPendant la lista de robots disponibles con el botón Refresh. La actualización de la lista se realiza de forma automática al pasar de otro diálogo al diálogo Robot Selection, sin necesidad en este caso de pulsar el botón Refresh.

� Active Tool Frame: muestra el sistema de coordenadas de herramienta activo, permitiendo seleccionar otro de la lista de sistemas de coordenadas de herramientas definidos para el robot.

� Active Tool: muestra la herramienta activa, permitiendo seleccionar otra de la lista de herramientas definidas para el robot.

� Tool Status: muestra el valor del estado de la herramienta, permitiendo cambiarlo entre 0.0 y 1.0 con una barra de desplazamiento horizontal (0 a izquierda y 1 a derecha).

� Speed: muestra el valor de velocidad nominal de movimientos del robot, permitiendo cambiarlo entre 0.0 y 1.0 con una barra de desplazamiento horizontal (0 a izquierda y 1 a derecha).

� Zone: muestra el valor del parámetro de zona (también llamado vuelo –fly- o de precisión) de movimientos del robot, permitiendo cambiarlo entre 0.0 y 1.0 con una barra de desplazamiento horizontal (0 a izquierda y 1 a derecha). Este campo no tendrá efecto en movimientos del robot con el VRS Teach Pendant, ya que sólo lo tiene cuando se realizan movimientos consecutivos.

� Check Range: permite activar o desactivar el chequeo de rangos del robot. Cuando está activo, el robot no podrá moverse fuera de los rangos de las articulaciones definidos en su fichero rkf. Cuando está desactivo, podrá moverse.

� Check Orientation: permite activar o desactivar el chequeo de orientación del robot. Cuando está activo, el robot no podrá moverse por localizaciones con orientación no

8 Dado el tamaño de esta ventana, puede ocultar diálogos que muestren otras aplicaciones, dando la sensación de que dichos diálogos no aparecen.

DISA UPV

14 Introducción al sistema de simulación gráfica de robots VRS

alcanzable. Cuando está desactivo, podrá moverse por localizaciones con orientación no alcanzable haciendo caso solamente de la posición de la localización.

� IK Config...: Abre un nuevo diálogo para configurar la configuración deseada en la resolución de la cinemática inversa.

Los últimos cinco campos tienen su utilidad a la hora de realizar movimientos del robot con el VRS TeachPendant, ya que son opciones de configuración de movimientos, por lo que se irán comentando con más detalle en secciones posteriores. Control de herramienta Los robots llevan herramientas acopladas para operar con ellas. Las herramientas pueden tener sus propios movimientos. En VRS se deben modelar los diferentes estadios con que se quieran representar el estado9 de la herramienta en el fichero rgf. Posteriormente, se podrá controlar el estado de la herramienta mediante un valor numérico de 0.0 a 1.0, de forma que se interpole entre los posibles estadios de la herramienta. Es decir, si la herramienta se ha modelado con dos estadios, cuando el estado de la herramienta sea menor que 0.5 se representará con el primer estadio, mientras que cuando sea igual o mayor que 0.5, se representará con el segundo estadio. La misma filosofía se aplica cuando hay más estadios modelados. Un robot puede tener más de una herramienta, acopladas a un adaptador. Para seleccionar la herramienta activa se dispone del campo Active Tool que permite seleccionar una de las herramientas disponibles (la opción no está disponible si el robot no tiene herramienta). Para cambiar el estado de la herramienta, se dispone del campo Tool Status con una barra de desplazamiento que permite introducir valores entre 0.0 y 1.0. La herramienta activa y el estado de la herramienta se muestran en la información dinámica (parte inferior izquierda de la ventana gráfica) con los identificadores T y TS respectivamente. Otro aspecto importante a controlar es el sistema de coordenadas de herramienta, que sirve para mandar movimientos u obtener la configuración del robot. La localización en que se encentra una configuración del robot se define mediante la localización de un sistema de coordenadas asociado a la herramienta respecto al sistema origen de programación del robot. En el fichero rkf de un robot se pueden definir diferentes sistemas de coordenadas. Con el campo Active Tool Frame se permite cambiar entre los disponibles para el robot. Para la realización de movimientos de robots de forma correcta, especialmente para movimientos en el espacio cartesiano, es fundamental conocer cómo se encuentren definidos los sistemas de coordenadas de herramienta. Los robots normalmente tienen el eje Z de la herramienta apuntando hacia “fuera” de la misma, pero el CRS A465 no lo tiene así, siendo el eje X el que lleva esa dirección. Tarea 5.1: � Con el robot CRS A465 cargado, ejecuta VRS TeachPendant. � Cambia el estado de la herramienta entre los valores extremos. � Deduce cuantos estadios hay modelados. � Activa cada uno de los sistemas de coordenadas de herramienta disponibles para el robot y

observa donde se encuentran. Observa que la localización mostrada en la información dinámica del robot cambia de posición en X al cambiar el sistema de coordenadas de herramienta.

� Deja activo el sistema de coordenadas de herramienta 1. Tarea 5.2: � Carga el robot ABB IRB L6 disponible en Models\Tutorial y localízalo con Y=1000. � Realiza un Refresh en VRS TeachPendant y selecciona el robot ABB IRB L6. � Deduce las herramientas existentes y cuáles son sus sistemas de coordenadas respectivos.

9 La sutil diferencia entre estadio y estado (state y status en inglés respectivamente) viene dada por que el primer término se representa con un número entero (valor discreto) mientras que el segundo con un número real (valor continuo).

Page 8: Martin Mellado Arteche VirtualRobot mediante · VRS LOADER 10 5. VRS TEACHPENDANT 12 6. VRS TRACECONTROL 20 7. VRS IOCONNECTION 21 8. VRS PARTHANDLING 22 9. VRS SPEEDCONTROL 24 10

Simulación en robótica mediante VirtualRobot

Introducción al sistema de simulación gráfica de robots VRS 15

� Cierra el robot ABB IRB L6 y realiza un Refresh en VRS TeachPendant.

5.2. Diálogo Joint Motion En el movimiento de robots por articulaciones se controla directamente el valor de las variables de articulación de los robots. Las variables de articulación del robot se muestran en todo momento en la información dinámica (parte inferior izquierda de la ventana gráfica) para el robot activo. Al pulsar sobre la pestaña Joint Motion se abrirá un diálogo que permite mover el robot por articulaciones mediante pulsaciones del ratón en botones específicos. El diálogo se comenta a continuación. En los campos J1 a J12 se mostrará el valor actual de las variables de articulación del robot, estando activos tantos botones como articulaciones tenga el robot. Para mover una articulación se debe pulsar en el botón o (variaciones en sentido negativo o positivo respectivamente). En dicha articulación se producirá el incremento especificado en el campo Step: que se puede modificar directamente o ajustar con los botones 0.1, 1 ó 10. Nótese que si los botones de movimiento se mantienen pulsados, el robot continuará moviéndose, lo que puede producir que, según la sensibilidad del ratón, se realicen más de un movimiento al pinchar en el botón. Además se dispone de los botones y que llevan el robot a su configuración de reset o sincronismo respectivamente. Si durante el movimiento de una articulación se sale fuera de su rango de trabajo, la pantalla parpadeará y el robot no podrá moverse más en ese sentido. Los rangos de las articulaciones están definidos en el fichero rkf. Es posible desactivar el control de rangos de movimiento del robot, de forma que se permita moverlo a posiciones inalcanzables para el robot real e incluso imposibles (por colisiones). Para desactivar el control de rangos se dispone del campo Check Range del diálogo Robot Selection ya comentado anteriormente. El control de rangos debe estar siempre activo excepto para realizar alguna prueba de movimiento fuera del rango del robot. Si el robot se lleva fuera de rangos y entonces se activa el control de rangos, el robot puede quedar bloqueado y sólo será posible llevarlo a sincronismo o reposo. Otro aspecto importante es la velocidad con que se realizan los movimientos del robot. Con la barra de desplazamiento Speed del diálogo Robot Selection se permite ajustar la velocidad de movimiento del robot. Cuando el valor es 1.0, el robot se moverá a la máxima velocidad que permita la simulación en el PC. Por el contrario, reduciendo este valor, se incluirán retardos en la simulación de los movimientos10. La velocidad de los movimientos es apreciable principalmente en movimientos rectilíneos. Existen dos botones para llevar el robot a su configuración de reset (todas las variables de articulación a cero) y a su configuración de sincronismo (definida en el fichero rkf). Nótese que la configuración reset puede estar fuera de rangos, mientras que la de sincronismo debe estar dentro de los rangos, ya que en otro caso producirá un error la carga del robot. Un robot puede

10 Para velocidades muy lentas, un movimiento largo del robot puede tardar lo suficiente para disparar un error de Timeout, lo que produce que VRS Teach Pendant se cierre con un mensaje de error. En el apéndice A se muestra como ajustar los posibles valores de Timeout.

DISA UPV

16 Introducción al sistema de simulación gráfica de robots VRS

estar definido con ambas configuraciones iguales o diferentes, es decir, la configuración de sincronismo no tiene porqué tener todas las variables a cero. Tarea 5.3: � Selecciona el robot CRS A465. � Mueve todas las articulaciones del robot. � Prueba el movimiento con velocidad 0.5 y velocidad 1.0, dejando esta velocidad. � Prueba diferentes valores en el campo Step. � Deduce los rangos de cada articulación llevándola sus extremos. � Desactiva el control de rangos y mueve alguna articulación fuera de su rango. � Activa el control de rangos y lleva el robot a su configuración de sincronismo. � Prueba las configuraciones de sincronismo y reposo para determinar si son idénticas o no. � Lleva el robot a su configuración de sincronismo. Tarea 5.4: � Lee la sección correspondiente al VRS Trace Control para conocer cómo se controla la

traza de los robots. � Mueve el robot CRS A465 visualizando las trazas y probando las opciones del VRS Trace

Control para activar, ocultar y borrar las trazas (y sus inversas). En el resto de tareas se puede hacer uso de estas opciones para tener más claro los movimientos del robot.

� Lleva el robot a su configuración de sincronismo.

5.3. Diálogo Joint Absolute Motion El robot también puede moverse a una configuración concreta mediante el diálogo Joint Absolute Motion que se muestra a la derecha. Este diálogo tendrá tantos campos activos como articulaciones tenga el robot, numeradas desde J1 a J12. Para mover el robot se introduce la configuración mediante el valor deseado de sus variables de articulación, pulsando intro o el botón Move. Los botones y tienen el mismo significado que en el diálogo anterior. Si al teclear una configuración, una de las articulaciones está fuera de su rango, la pantalla parpadea y el robot no se mueve, siendo cancelada la orden.

Tarea 5.5: � Mueve el robot CRS A465 especificando diversas configuraciones. � Lleva el robot a su configuración de sincronismo.

5.4. Diálogo Cartesian Motion En el movimiento de robots en el Espacio Cartesiano se controla directamente la localización del sistema de coordenadas de herramienta activo respecto al sistema de coordenadas origen de programación del robot. La localización se representa con la posición X,Y,Z y tres ángulos de Euler de tipo 2 (Alpha,Beta,Gamma). Esta localización se muestra en todo momento en la información dinámica (parte inferior izquierda de la ventana gráfica) para el robot activo. Para realizar estos movimientos se dispone del diálogo Cartesian Motion que se explica a continuación.

Page 9: Martin Mellado Arteche VirtualRobot mediante · VRS LOADER 10 5. VRS TEACHPENDANT 12 6. VRS TRACECONTROL 20 7. VRS IOCONNECTION 21 8. VRS PARTHANDLING 22 9. VRS SPEEDCONTROL 24 10

Simulación en robótica mediante VirtualRobot

Introducción al sistema de simulación gráfica de robots VRS 17

En este diálogo se muestra la localización del Tool Frame activo respecto al sistema origen de programación del robot. Esta localización puede cambiarse pulsando los botones o (variaciones en sentido negativo o positivo respectivamente) de cada una de las seis variables que especifican la localización (X,Y,Z,Alpha,Beta,Gamma). En dicha variable se producirá el incremento especificado en el campo Step: que se puede modificar directamente o ajustar con los botones 0.1, 1 ó 10. Nótese que si los botones de movimiento se mantienen pulsados, el robot no se mueve, esperando que se libere el botón. Por el contrario, si se pulsa varias veces el botón, los movimientos se irán realizando consecutivamente. Los botones y tienen el mismo significado que en los diálogos anteriores. Si durante un movimiento, la localización a la que se quiere llevar el robot es inalcanzable o una articulación se sale fuera de su rango de trabajo, la pantalla parpadeará y el robot no se moverá. Nótese que la localización mostrada y los movimientos son dependientes del sistema de coordenadas de herramienta que esté activo en el campo Active Tool Frame, como se explicó anteriormente en el diálogo Robot Selection. Hay otros campos de este diálogo que también tienen influencia en los movimientos del robot, como los ya comentados Check Range, que permitirá mover el robot a localizaciones que tengan sus articulaciones fuera de rango, y Speed que permite ajustar la velocidad de movimiento del robot. En el campo Type: se permite seleccionar la representación de la localización en los tres tipos de ángulos de Euler existentes. El tipo 2 es el que se usa por defecto al ser el más común en robótica, si bien el tipo 3 es particularmente interesante para poder realizar rotaciones respecto a los ejes del sistema de coordenadas del Tool Frame activo. En la siguiente tabla se recuerda cuál es el significado de los tres tipos de representación de orientación mediante ángulos de Euler. Ángulos de Euler Alfa Beta Gama Tipo 1 Eje Z (Origin Frame) Eje U (Tool Frame) Eje W (Tool Frame) Tipo 2 Eje Z (Origin Frame) Eje V (Tool Frame) Eje W (Tool Frame) Tipo 3 Eje X (Origin Frame) Eje Y (Origin Frame) Eje Z (Origin Frame) Tarea 5.6: � Mueve el robot CRS A465 en posición y orientación con diferentes valores de Step. � Mueve el robot en orientación con representación en diferentes tipos de ángulos de Euler y

comprende su diferencia. � Lleva el robot a su configuración de sincronismo. Movimientos punto a punto y rectilíneos Los movimientos del robot se pueden realizar con el tipo de movimiento punto a punto, donde el robot genera un movimiento interpolando en el espacio de articulaciones o con movimiento rectilíneo, de forma que el origen del sistema de coordenadas de herramienta activo siga una línea recta. El tipo de movimiento se puede seleccionar con las opciones POINT TO POINT y LINEAR accesibles en el campo Linear/PTP. Tarea 5.7: � Mueve el robot CRS A465 en posición X,Y,Z con diferentes valores de Step probando los

movimientos punto a punto y línea recta y comprende su diferencia. � Lleva el robot a su configuración de sincronismo y deja seleccionado el modo punto a punto.

DISA UPV

18 Introducción al sistema de simulación gráfica de robots VRS

Los movimientos del robot se pueden especificar relativos a tres posibles sistemas de coordenadas, el sistema origen de programación (ORIGIN), el sistema de coordenadas de la herramienta (TOOL FRAME) y el sistema de coordenadas del mundo (WORLD). Estas opciones se pueden seleccionar en el campo Relative to. Tarea 5.8: � Localiza el robot CRS A465 con el valor Gamma a 45º. � Visualiza los sistemas de coordenadas origen del robot y del mundo. � Mueve el robot de forma relativa a los diferentes sistemas de coordenadas y comprende su

diferencia. � Lleva el robot a su configuración de sincronismo y deja seleccionado los movimientos

respecto al origen. � Localiza el robot con el valor Gamma a 0º. Selección de la solución en la cinemática inversa Cuando el robot se mueve en el espacio cartesiano el simulador selecciona entre las posibles configuraciones del robot que resuelven la cinemática inversa. Normalmente interesa la configuración más cercana ya que producirá un ahorro de energía, pero se puede seleccionar otra configuración con el campo IK Config... del diálogo Robot Selection que abre el siguiente diálogo. La opción Closest Configuration resuelve la cinemática inversa con la configuración más cercana a la anterior del robot. Por el contrario, se pueden seleccionar configuraciones diferentes (según el tipo de robot) seleccionando las opciones deseadas entre los posibles siguientes pares: � Brazo derecho o izquierdo (Left Arm/Right Arm). � Codo arriba o abajo (Elbow Up/Elbow Down). � Muñeca positiva o negativa (Positive Wrist/Negative Wrist). Seleccionando una configuración específica, el movimiento sólo será posible si esta configuración es correcta, descartándose el resto de posibles soluciones. Por el contrario, con la configuración más cercana, se considera la mejor solución de todas las alcanzables, por lo que normalmente se debe mantener esta opción. Tarea 5.9: � Con IK Config... selecciona la opción Elbow Down para el robot CRS A465. � Mueve el robot en la dirección X. Observa la nueva configuración seleccionada. � Selecciona la opción Left Arm. � Mueve el robot en la dirección X. Observa la nueva configuración seleccionada. � Selecciona la opción Possitive Wrist. � Mueve el robot en la dirección X. Observa la nueva configuración seleccionada. � Selecciona el modo Closest Configuration. � Mueve el robot en la dirección X. Observa la nueva configuración seleccionada. � Lleva el robot a su configuración de sincronismo. Control de orientación Cuando al robot se le manda a una localización, la alcanzará tanto en posición como en orientación. Para ciertas aplicaciones puede ser útil ordenar movimientos con cambios únicamente en posición, sin forzar al robot a seguir la orientación. Esto es posible desactivando el control de orientación con el campo Check Orientation del diálogo Robot Selection. El control de orientación debe estar siempre activo excepto para realizar alguna prueba de movimiento del robot. Este aspecto es especialmente importante para despreocuparse de la orientación en robots que tienen menos de seis grados de libertad. Si el robot se mueve sin control de orientación y entonces se activa el control de orientación, el robot puede quedar bloqueado y sólo será posible llevarlo a sincronismo o reposo.

Page 10: Martin Mellado Arteche VirtualRobot mediante · VRS LOADER 10 5. VRS TEACHPENDANT 12 6. VRS TRACECONTROL 20 7. VRS IOCONNECTION 21 8. VRS PARTHANDLING 22 9. VRS SPEEDCONTROL 24 10

Simulación en robótica mediante VirtualRobot

Introducción al sistema de simulación gráfica de robots VRS 19

Tarea 5.10: � Desactiva el campo Check Orientation para el robot CRS A465. � Mueve el robot en las direcciones Y y Z. Observa la orientación del sistema de herramienta. � Intenta mover el robot en orientación cambiando los ángulos. Observa que no se produce

movimiento. � Activa el campo Check Orientation. � Lleva el robot a su configuración de sincronismo.

5.5. Diálogo Cartesian Absolute Motion El robot también puede moverse a una localización concreta mediante el diálogo Cartesian Absolute Motion que se muestra a la derecha. Este diálogo tiene los campos X,Y,Z para especificar la posición y los campos Alpha, Beta, Gamma para especificar la orientación. Para mover el robot se introduce la configuración mediante el valor deseado de posición y orientación, pulsando intro o el botón Move. Los botones y tienen el mismo significado que en el diálogo anterior. Los campos Type, Relative to y Linear/PTP tienen el mismo significado que en diálogo anterior. Si al teclear una localización, la localización a la que se quiere llevar el robot es inalcanzable o una articulación se sale fuera de su rango de trabajo, la pantalla parpadeará y el robot no se moverá, siendo cancelada la orden. Tarea 5.11: � Mueve el robot CRS A465 especificando diversas localizaciones. � Lleva el robot a su configuración de sincronismo.

5.6. Diálogo Input / Outputs En VRS cada robot cargado tiene asignadas 16 entradas digitales, 16 salidas digitales, 16 entradas analógicas y 16 salidas analógicas. Estas señales se pueden conectar de robot a robot mediante la VRS Tool VRS IOConnection que se verá posteriormente. Para tener acceso a estas señales (leer el valor de las entradas y modificar el valor de las salidas) se dispone del diálogo Input/Outputs.

DISA UPV

20 Introducción al sistema de simulación gráfica de robots VRS

Las entradas digitales están numeradas de 1 a 16 y agrupadas en el campo Digital In. Sobre estas entradas no se puede actuar directamente, pero el programa actualizará su estado continuamente (comprobando los valores cada medio segundo), existiendo una marca cuando están a nivel alto (1 lógico). Las salidas digitales están numeradas de 1 a 16 y agrupadas en el campo Digital Out. Sobre estas salidas se puede actuar directamente, pulsando sobre el círculo correspondiente y el programa mostrará su estado, existiendo una marca cuando están a nivel alto (1 lógico). Las entradas y salidas analógicas (ambas numeradas de 1 a 16) están agrupadas en el campo Analogical, separándose en el campo In las entradas y en el campo Out las salidas.

Seleccionando una entrada analógica de la lista de entradas, a su derecha mostrará el valor leído, siendo 0.0 si no está conectada. Seleccionando una salida analógica de la lista de salidas, a su derecha mostrará el valor actual, pudiéndose teclear otro valor que se enviará por la salida correspondiente al pulsar Set. 6. VRS TraceControl Para la gestión de las trazas de los robots (activación, ocultación y eliminación) se dispone de la VRS Tool llamada VRS TraceControl. VRS TraceControl es una aplicación externa que sirve para controlar las trazas de los robots. Como programa externo, su ejecutable VRSTraceControl.exe se puede ejecutar directamente desde el operativo, estando localizado en la carpeta Applications\VRSTools a partir del directorio de VRS. Sin embargo, en la configuración de instalación por defecto de VRS se encuentra accesible con la opción del menú File>>VRS Tools>>VRS Trace Control si bien no se ejecuta directamente al arrancar VRS. Una vez ejecutado, es un programa como otro cualquiera, con acceso desde la barra de tareas. Si VRS TraceControl está en ejecución se volverá a abrir en caso de lanzarse a ejecución de nuevo. Su interfaz es el que se muestra a la derecha, disponiendo, como todas las aplicaciones de tipo VRS Tool, de un menú propio de tipo pop-up, accesible al pulsar sobre la ventana (fuera de los botones) con el botón derecho del ratón, que permite, si se activa la opción Always Visible (como aparece por defecto), tener esta aplicación siempre visible por encima de cualquier otra ventana, incluida la de VRS.

Como ya se ha comentado, con VRS TraceControl se pueden controlar las trazas de los robots en el simulador. La traza de un robot es el rastro que deja el origen del sistema de coordenadas de herramienta activo del robot al moverse. Las trazas se deben activar para dibujarse, se pueden ocultar para no estar visibles y se pueden eliminar. Los botones de cada una de estas opciones son los siguientes: VRS TraceControl Acción

Conmuta entre activar / desactivar la traza de todos los robots cargados en VRS.

Conmuta entre ocultar /mostrar la traza de todos los robots cargados en VRS.

Elimina la traza de todos los robots cargados en VRS.

Permite elegir el color de traza de todos los robots cargados en VRS.

Salva la traza de los robots (opción no disponible).

Page 11: Martin Mellado Arteche VirtualRobot mediante · VRS LOADER 10 5. VRS TEACHPENDANT 12 6. VRS TRACECONTROL 20 7. VRS IOCONNECTION 21 8. VRS PARTHANDLING 22 9. VRS SPEEDCONTROL 24 10

Simulación en robótica mediante VirtualRobot

Introducción al sistema de simulación gráfica de robots VRS 21

Nótese que cualquiera de los botones afecta a todos los robots cargados en VRS, pero sólo tiene sentido para los robots que en ese momento estén cargados en VRS, no para robots que se carguen posteriormente. Por otra parte, si otra aplicación realiza también el manejo de la traza de un robot, puede ocurrir que la información entre ambas aplicaciones no sea consistente. Conviene aclarar algunos aspectos respecto a estas opciones: � Al desactivar la traza de un robot se cierra un segmento de traza, mientras que al activar la

traza se abre un nuevo segmento de traza. Por tanto, la traza será la unión de segmentos generados al conmutar traza activada y desactivada.

� Si con la traza activa se cambia el sistema de coordenadas activo del robot se comienza un nuevo segmento de traza.

� La traza se puede ir activando y desactivando para que sólo se represente los movimientos hechos mientras que la traza esté activa.

� El ocultar la traza no la elimina ni la desactiva, sólo hace que no se muestre en pantalla. Por ejemplo, si la traza está activa y oculta (ambos botones pulsados) guardará los puntos por los que pase el origen del sistema de coordenadas de herramienta, pese a que no los muestre. En el momento que se desactive la opción de ocultar traza, aparecerá toda la traza generada mientras la traza estaba activa.

� Al eliminar la traza de un robot se desactiva la misma. 7. VRS IOConnection Para la conexión de salidas de un robot a entradas de otro robot en VRS se dispone de la VRS Tool llamada VRS IOConnection. VRS IOConnection es una aplicación externa que sirve para conectar salidas (digitales y analógicas) de un robot a entradas (digitales y analógicas respectivamente) de otro robot. Como programa externo, su ejecutable VRSIOConnection.exe se puede ejecutar directamente desde el operativo, estando localizado en la carpeta Applications\VRSTools a partir del directorio de VRS. Sin embargo, en la configuración de instalación por defecto de VRS se encuentra accesible con la opción del menú File>>VRS Tools>>VRS Input/Output Connection si bien no se ejecuta directamente al arrancar VRS. Una vez ejecutado, es un programa como otro cualquiera, con acceso desde la barra de tareas. Si VRS IOConnection está en ejecución se volverá a abrir en caso de lanzarse a ejecución de nuevo. Su interfaz es el que se muestra a la derecha, disponiendo, como todas las aplicaciones de tipo VRS Tool, de un menú propio de tipo pop-up, accesible al pulsar sobre la ventana (fuera de los botones) con el botón derecho del ratón, que permite, si se activa la opción Always Visible (como aparece por defecto), tener esta aplicación siempre visible por encima de cualquier otra ventana, incluida la de VRS.

Como ya se ha comentado, con VRS IOConnection se pueden conectar salidas de un robot a las entradas de otro robot, de forma que las salidas se transfieran a las entradas correspondientes. Evidentemente, la conexión siempre será salida digital a entrada digital o bien salida analógica a entrada analógica. Una salida de un robot se puede conectar a varias entradas de diferentes robots, incluso entradas de sí mismo, pero a una entrada sólo se le puede conectar una salida. Cualquier nueva conexión en una entrada sustituye la conexión anterior a esa entrada. Los campos para permitir las conexiones son los siguientes:

DISA UPV

22 Introducción al sistema de simulación gráfica de robots VRS

VRS IOConnection Acción Clean List Vacía la lista de conexiones, si bien las conexiones permanecen. Connect Conecta señales según el diálogo IO Connection

Disconnect Desconecta señales (no disponible) Close Cierra la ventana

Es importante resaltar que la primera opción sólo vacía la lista de conexiones, siendo necesario cerrar un robot para que desaparezcan todas sus conexiones en VRS. Con el botón Connect se entra en el diálogo que permite establecer conexiones, que se muestra a continuación. Con los campos Output No e Input No se seleccionan los números de salida y entrada, siendo aplicados sobre el robot seleccionado en los campos Robot de su derecha. Con el campo Connection Type se puede seleccionar el tipo de conexión (digital o analógica). Con OK o Cancel se valida la conexión o se cancela.

Al introducir una conexión, ésta se mostrará en la lista de conexiones realizadas del diálogo VRS IOConnection. Debe recordarse que si se repite una conexión en una entrada, la nueva conexión sustituye a la anterior. La lista se mantiene ordenada según se han introducido, por lo que la conexión situada más abajo es la que permanece al repetirse una entrada. Por otra parte, en la lista sólo se muestran las conexiones que se han realizado con esta aplicación, no las realizadas por otras aplicaciones. Tarea 7.1: � Conecta la salida digital 1 del robot CRS A465 a su entrada digital 1. � Comprueba con el VRS TeachPendant la conexión. � Conecta la salida analógica 1 del robot CRS A465 a su entrada analógica 1. � Comprueba con el VRS TeachPendant la conexión. Tarea 7.2: � Con dos robots cargados en VRS, conecta señales entre ellos y verifica las conexiones. 8. VRS PartHandling Para la manipulación de piezas del entorno con robots en VRS se dispone de la VRS Tool llamada VRS PartHandling. VRS PartHandling es una aplicación externa que sirve manipular piezas del entorno con robots. Como programa externo, su ejecutable VRSPartHandling.exe se puede ejecutar directamente desde el operativo, estando localizado en la carpeta Applications\VRSTools a partir del directorio de VRS. Sin embargo, en la configuración de instalación por defecto de VRS se encuentra accesible con la opción del menú File>>VRS Tools>>VRS Part Handling si bien no se ejecuta directamente al arrancar VRS. Una vez ejecutado, es un programa como otro cualquiera, con acceso desde la barra de tareas. Si VRS PartHandling está en ejecución se volverá a abrir en caso de lanzarse a ejecución de nuevo. Su interfaz es el que se muestra a la derecha, disponiendo, como todas las aplicaciones de tipo VRS Tool, de un menú propio de tipo pop-up, accesible al pulsar sobre la ventana (fuera de los botones) con el botón derecho del ratón, que permite, si se activa la opción Always Visible (como aparece por defecto), tener esta aplicación siempre visible por encima de cualquier otra ventana, incluida la de VRS.

Page 12: Martin Mellado Arteche VirtualRobot mediante · VRS LOADER 10 5. VRS TEACHPENDANT 12 6. VRS TRACECONTROL 20 7. VRS IOCONNECTION 21 8. VRS PARTHANDLING 22 9. VRS SPEEDCONTROL 24 10

Simulación en robótica mediante VirtualRobot

Introducción al sistema de simulación gráfica de robots VRS 23

Como ya se ha comentado, con VRS PartHandling se pueden manipular piezas del entorno con los robots. Para ello dispone de las siguientes opciones: VRS PartHandling Acción

Robot Permite seleccionar el robot. Tool Frame Permite seleccionar el sistema de coordenadas de herramienta activo.

Tool Director Axis Permite seleccionar el eje director de la herramienta para los movimientos de aproximación y retirada.

Tool Permite seleccionar la herramienta activa. Part Permite seleccionar la pieza a manipular.

Operation Frame Permite seleccionar el sistema de operación de la pieza para el agarre y los movimientos relativos.

APPROX Permite realizar la aproximación a un sistema de operación de una pieza.

MOVETO Permite realizar el movimiento a un sistema de operación de una pieza.DEPART Permite realizar un movimiento de retirada.

PICK Permite realizar el agarre de una pieza. PLACE Permite realizar la dejada de una pieza.

Mueve el robot a su configuración de reset.

Mueve el robot a su configuración de sincronismo. Refresh Actualiza la información de robots, herramientas y piezas. Close Cierra la ventana.

Los campos Robot, Tool Frame y Tool y los botones de reset y sincronismo son similares a los ya explicados para otros diálogos. Igualmente, los dos últimos botones tienen significado obvio. Con el campo Tool Director Axis se selecciona cuál es el eje del sistema de coordenadas de herramienta activo que se toma como director para los movimientos de aproximación y retirada del robot. Con el campo Part se especifica la pieza a coger, dejar o sobre la que se realizarán los movimientos relativos, en función del sistema de operación seleccionado en el campo Operation Frame. Los botones APPROX, MOVETO y DEPART abren el diálogo Motion Parameters que se muestra a continuación. El significado de las acciones y los campos de este nuevo diálogo son los siguientes: � Con el botón APPROX se realiza una aproximación al sistema de

operación de una pieza. El movimiento del robot se puede especificar que sea en línea recta con el campo Linear Movement (por defecto no lo es). Igualmente se puede especificar la velocidad de movimiento del robot con la barra de desplazamiento del campo Speed (por defecto es 1.0). Con los valores X Offset, Y Offset, Z Offset se pueden modificar las distancias de aproximación (por defecto será 100 en el eje director de la herramienta y cero el resto). Nótese que estos valores indican distancias en los sentidos NEGATIVOS de los ejes del sistema de operación de pieza usado como base de los movimientos. Con MOVE se realiza el movimiento mientras que se cancela con Cancel.

� Con el botón MOVETO se realiza un movimiento al sistema de operación de una pieza. El

movimiento del robot se puede especificar que sea en línea recta con el campo Linear Movement (por defecto sí lo es). Igualmente se puede especificar la velocidad de movimiento del robot con la barra de desplazamiento del campo Speed (por defecto es 0.5). Los campos X Offset, Y Offset, Z Offset están deshabilitados porque deben tener siempre valor 0 (en otro caso se trata de una aproximación). Con MOVE se realiza el movimiento mientras que se cancela con Cancel.

� Con el botón DEPART se realiza una retirada desde la localización en que se encuentra el robot. El movimiento del robot se puede especificar que sea en línea recta con el campo Linear Movement (por defecto sí lo es). Igualmente se puede especificar la velocidad de movimiento del robot con la barra de desplazamiento del campo Speed (por defecto es 0.5). Con los valores X Offset, Y Offset, Z Offset se pueden modificar las distancias de retirada (por defecto será 100 en el eje director de la herramienta y cero el resto). Nótese

DISA UPV

24 Introducción al sistema de simulación gráfica de robots VRS

que estos valores indican distancias en los sentidos NEGATIVOS de los ejes del sistema de herramienta activo usado como base de los movimientos. Con MOVE se realiza el movimiento mientras que se cancela con Cancel.

Los botones PICK, y PLACE abren el diálogo Pick&Place Parameters que se muestra a continuación. El significado de las acciones y los campos de este nuevo diálogo son los siguientes: � Con el botón PICK se realiza el agarre de una pieza. Tras realizar el

agarre, la herramienta cambiará al estado de herramienta al valor especificado en el campo Tool Status que se puede modificar con su barra de desplazamiento (por defecto es 1). La pieza quedará agarrada a la pinza activa del robot y la transportará consigo en sucesivos movimientos. Con OK se realiza el agarre mientras que se cancela con Cancel. Con el campo Check Coincidence se puede especificar que realice, antes de realizar el agarre, una comprobación de coincidencia entre las localizaciones de los sistemas de coordenadas de herramienta activo y de operación de pieza, de forma que sólo agarre la pieza si son coincidentes (por defecto se realiza la comprobación).

� Con el botón PLACE se realiza la dejada de una pieza. Tras realizar la dejada, la herramienta cambiará al estado de herramienta al valor especificado en el campo Tool Status que se puede modificar con su barra de desplazamiento (por defecto es 0). La pieza quedará desligada de la pinza activa del robot y ya no la transportará consigo en sucesivos movimientos. Con OK se realiza la dejada mientras que se cancela con Cancel. El campo Check Coincidence está deshabilitado porque no tiene sentido en este caso. Es importante resaltar que esta acción tiene efecto sobre la pieza que esté seleccionada en el campo Part, por lo que se producirá un error si el robot no la tiene agarrada.

Tarea 8.1: � Carga el robot CRS A465 y su mesa como en la Tarea 4.1 y abre VRS PartHandling. � Selecciona el sistema de coordenadas de herramienta 1 y como eje director el eje X. � Selecciona la pieza Cubo1 y realiza un movimiento de aproximación a la pieza con

APPROX y un movimiento hasta la pieza con MOVETO (con los valores por defecto). � Realiza el agarre de la pieza y la retirada del robot (usa 0.4 para el Tool Status). � Selecciona como pieza el pallet y su sistema de operación 2. � Comprueba lo que realizan ahora los botones APPROX y MOVETO. � Selecciona la pieza Cubo1, déjala (con Tool Status a 0) y retira el robot con DEPART. Tarea 8.2: � Mueve las piezas Cubo2 y Cubo3 a las localizaciones especificadas con los sistemas de

operación 1 y 3 del pallet respectivamente. � No olvides alternar el campo Part entre el pallet y el cubo correspondiente al hacer

movimientos y dejadas de pieza. � Sigue la lógica de APPROX-MOVETO-PICK/PLACE-DEPART. 9. VRS SpeedControl Para el ajuste de la velocidad de simulación de robots en VRS se dispone de la VRS Tool llamada VRS SpeedControl. VRS SpeedControl es una aplicación externa que sirve ajustar la velocidad de simulación de robots. Como programa externo, su ejecutable VRSSpeedControl.exe se puede ejecutar directamente desde el operativo, estando localizado en la carpeta Applications\VRSTools a partir del directorio de VRS. Sin embargo, en la configuración de instalación por defecto de VRS se encuentra accesible con la opción del menú File>>VRS Tools>>VRS Speed Control si bien no se ejecuta directamente al arrancar VRS. Una vez ejecutado, es un programa como otro cualquiera, con acceso desde la barra de tareas. Si VRS SpeedControl está en ejecución se volverá a abrir en caso de lanzarse a ejecución de nuevo.

Page 13: Martin Mellado Arteche VirtualRobot mediante · VRS LOADER 10 5. VRS TEACHPENDANT 12 6. VRS TRACECONTROL 20 7. VRS IOCONNECTION 21 8. VRS PARTHANDLING 22 9. VRS SPEEDCONTROL 24 10

Simulación en robótica mediante VirtualRobot

Introducción al sistema de simulación gráfica de robots VRS 25

Su interfaz es el que se muestra a la derecha, disponiendo, como todas las aplicaciones de tipo VRS Tool, de un menú propio de tipo pop-up, accesible al pulsar sobre la ventana (fuera de los botones) con el botón derecho del ratón, que permite, si se activa la opción Always Visible (como aparece por defecto), tener esta aplicación siempre visible por encima de cualquier otra ventana, incluida la de VRS. Como ya se ha comentado, con VRS SpeedControl se puede ajustar la velocidad de simulación de los robots en VRS. Los robots se moverán en cada comando de movimiento según su parámetro específico de velocidad, pero existe una escala de velocidades que puede reducir esta velocidad. Esta escala de velocidades, que se controla en esta VRS Tool mediante la barra de desplazamiento del campo Speed Scale permitirá reducir esta velocidad, ya que para el valor de 1.0 no aplica ninguna reducción mientras que para valores más pequeños reduce la velocidad de simulación. La ventana actualiza el valor de la escala de velocidades periódicamente, por lo que si otra aplicación la modifica, se detectará con VRS SpeedControl. 10. VRS VideoRecorder Para la grabación de vídeos11 en VRS se dispone de la VRS Tool llamada VRS VideoRecorder. VRS VideoRecorder es una aplicación externa que sirve para grabar vídeos en VRS en formato AVI no comprimido. Como programa externo, su ejecutable VRSVideoRecorder.exe se puede ejecutar directamente desde el operativo, estando localizado en la carpeta Applications\VRSTools a partir del directorio de VRS. Sin embargo, en la configuración de instalación por defecto de VRS se encuentra accesible con la opción del menú File>>VRS Tools>>VRS Video Recorder si bien no se ejecuta directamente al arrancar VRS. Una vez ejecutado, es un programa como otro cualquiera, con acceso desde la barra de tareas. Si VRS VideoRecorder está en ejecución se volverá a abrir en caso de lanzarse a ejecución de nuevo. Su interfaz es el que se muestra a la derecha, disponiendo, como todas las aplicaciones de tipo VRS Tool, de un menú propio de tipo pop-up, accesible al pulsar sobre la ventana (fuera de los botones) con el botón derecho del ratón, que permite, si se activa la opción Always Visible (como aparece por defecto), tener esta aplicación siempre visible por encima de cualquier otra ventana, incluida la de VRS. Como ya se ha comentado, con VRS VideoRecorder se pueden grabar vídeos en formato AVI no comprimido. Los vídeos grabados se deben visualizar con alguna aplicación multimedia que contemple vídeos avi. Para grabar un vídeo se debe crear un fichero de extensión avi e introducir las dimensiones de la imagen, teniendo en cuenta que para un tamaño grande, el fichero generado puede llegar a ser enorme, ya que no se comprime el vídeo. Un tamaño de 320x240 puede ser adecuado, si bien para vídeos de larga duración también pueden producirse ficheros excesivamente grandes. Una vez creado el fichero, se dispone de tres botones: grabación, pausa y paro. Alternando el uso de los dos primeros se puede seleccionar las acciones a grabar y con el botón de paro se termina la grabación y cierra el fichero. Los botones de cada una de estas opciones son los siguientes: VRS VideoRecorder Acción

Permite crear un fichero de formato AVI e introducir las dimensiones de la imagen.

Activa la grabación del vídeo.

Realiza una pausa en la grabación o la reactiva.

Para la grabación y cierra el fichero. 11 Only for Windows 95/98/ME

DISA UPV

26 Introducción al sistema de simulación gráfica de robots VRS

Mientras el modo grabación esté activo, toda acción realizada en VRS que implique un redibujado en pantalla se almacenará como un fotograma en el vídeo. Evidentemente, almacenar cada fotograma ralentiza mucho los movimientos del robot, lo que puede producir errores de Timeout12 en las aplicaciones. Tarea 10.1: � Sólo si estás ejecutando VRS en Windows 95/98/ME, carga un robot y genera un vídeo

corto con movimientos del robot (almacénalo en la carpeta Videos\User). � Para otros operativos no es posible grabar vídeos. 11. Aplicaciones de demostración El programa dispone de varias aplicaciones de demostración que se pueden ejecutar con la opción File>>Demos>>Industrial Robots. Estas aplicaciones se han desarrollado mediante programas externos tal como se muestra en el guión titulado “Programación de aplicaciones para VRS”. En la carpeta Videos\Demos se encuentran disponibles vídeos de las demostraciones (en caso de haberse instalado). Tarea 11.1: � Ejecuta las demostraciones de aplicaciones con robots industriales disponibles en la opción

File>>Demos>>Industrial Robots.

12 En el apéndice A se muestra como ajustar los posibles valores de Timeout.

Page 14: Martin Mellado Arteche VirtualRobot mediante · VRS LOADER 10 5. VRS TEACHPENDANT 12 6. VRS TRACECONTROL 20 7. VRS IOCONNECTION 21 8. VRS PARTHANDLING 22 9. VRS SPEEDCONTROL 24 10

Simulación en robótica mediante VirtualRobot

Introducción al sistema de simulación gráfica de robots VRS 27

A. Configuración de VRS Configuración del Menú VRS Tools Las herramientas VRS Tools se pueden configurar mediante el fichero VRS.INI que se instala en el operativo. El contenido del fichero VRS.INI es del estilo siguiente (si bien el número de campos y los valores de los campos pueden ser diferentes): [VERSION] Version = UPV [IKLIB] DllName = iklib5.8.dll [ROBOT_MENU] Enabled = NO [ENVELOPS] ComputeEnvelops = NO DrawEnvelops = NO [TOOL_MENU] Name = VRS Tools [TOOL_MENU_ENTRY1] Name = VRS &Loader Path = ./Applications/VRSTools/VRSLoader.exe InitRun = YES [TOOL_MENU_ENTRY2] Name = VRS &Teach Pendant Path = ./Applications/VRSTools/VRSTeachPendant.exe InitRun = NO [TOOL_MENU_ENTRY3] Name = VRS T&race Control Path = ./Applications/VRSTools/VRSTraceControl.exe InitRun = NO [TOOL_MENU_ENTRY4] Name = VRS &I/O Connection Path = ./Applications/VRSTools/VRSIOConnection.exe InitRun = NO ; Max number of tool menu entries is 10 • El campo Version de la sección VERSION será el seleccionado en el proceso de

instalación. No se debe alterar el contenido de este campo. • El campo DllName de la sección IKLIB es el fichero de la dll que se utiliza por defecto en la

cinemática del robot. No se debe alterar el contenido de este campo a no ser que se haya desarrollado una nueva librería de cinemática.

• El campo Enabled de la sección ROBOTMENU se debe poner a YES si el programa realiza funciones de servidor de un robot con comunicación con el mismo. No se debe alterar el contenido de este campo en otro caso.

Los campos ComputeEnvelops y DrawEnvelops de la sección ENVELOPS se debe poner a YES si en el programa se utilizan aplicaciones avanzadas de detección de

DISA UPV

28 Introducción al sistema de simulación gráfica de robots VRS

colisiones o simulación de sensores de distancias. No se debe alterar el contenido de este campo en otro caso.

• El campo Name de la sección TOOL_MENU contendrá el nombre de la opción del menú File donde se encuentran las herramientas VRS Tools.

• Para cada sección TOOL_MENU_ENTRYi (donde i es un entero ordenado) se puede especificar para cada VRS Tool que se instale los siguientes valores:

o Name: nombre que aparece en el menú. o Path: nombre del ejecutable con el path a partir del VRS Path. o InitRun: puesto a YES se ejecutará directamente al inicializarse VRS, puesto a

NO, no se ejecutará, debiendo lanzarlo el usuario. Configuración del Timeout El fichero VREAL.INI instalado en el directorio del operativo permite configurar el Timeout de la comunicación entre VRS y las aplicaciones externas. El contenido del fichero es el siguiente (si bien los valores de los campos podrían ser diferentes): [GENERAL] TimeOut=5 LoadTimeOut=40 ;Communication Timeout in seconds El campo TimeOut es el timeout en segundos para la comunicación con la aplicación externa. El campo LoadTimeOut es el timeout en segundos para la comunicación con la aplicación externa para las instrucciones de carga de ficheros. Normalmente, este timeout será mayor que el anterior.

Page 15: Martin Mellado Arteche VirtualRobot mediante · VRS LOADER 10 5. VRS TEACHPENDANT 12 6. VRS TRACECONTROL 20 7. VRS IOCONNECTION 21 8. VRS PARTHANDLING 22 9. VRS SPEEDCONTROL 24 10

Simulación en robótica mediante VirtualRobot

Introducción al sistema de modelado gráfico para robótica VRM 29

Introducción al sistema de modelado gráfico para robótica

VRM

DISA UPV

30 Introducción al sistema de modelado gráfico para robótica VRM

1. Objetivo El objetivo de este documento es presentar un tutorial para introducir al lector en el manejo del sistema de modelado de objetos, piezas y entornos de robots denominado VirtualRobot Modeller (VRM) y su uso dentro de VirtualRobot Simulator (VRS). VRM es un conjunto de programas o aplicaciones externas de modelado gráfico orientado a aplicaciones de robótica para su uso en VRS. VRM se instala al instalar VRS. En la parte inicial del tutorial se muestra el aprendizaje de dichos programas con una serie de tareas a realizar. Posteriormente se muestra como se pueden utilizar los resultados en VRS. Se supone que el usuario está familiarizado con el programa VRS y es capaz de ejecutar aplicaciones en dicho entorno. 2. Introducción. Aplicaciones de VRM En VRS se puede cargar un entorno para hacer más realista la simulación. Los entornos están compuestos de objetos y piezas. La diferencia entre objetos y piezas es que mientras que los objetos son elementos meramente “decorativos”, es decir, con información sólo gráfica para mejorar el aspecto visual de una simulación, las piezas contienen más información. En concreto, tienen asociados sistemas de coordenadas que se utilizan para que los robots puedan actuar sobre ellos, tanto mediante movimientos relativos como para realizar agarre de las piezas. Las aplicaciones VRM sirven para crear y editar objetos y piezas y poder construir entornos con ellos. VRM está compuesto, principalmente, de las siguientes tres aplicaciones VRM Tools (ejecutables desde la opción File>>VRM Tools): � VRM Editor para crear y editar tanto objetos como piezas. � VRM Object Mover para localizar, borrar y salvar objetos de un entorno cargado en VRS. � VRM Part Mover para localizar, borrar y salvar piezas de un entorno cargado en VRS. Con estas aplicaciones se pueden generar entornos que posteriormente se salven con la opción correspondiente de VRS Loader. 3. Modelado de objetos con VRM Editor. Para el modelado de objetos en VRS se dispone de la VRM Tool llamada VRM Editor. VRM Editor es una aplicación externa que sirve modelar objetos para crear entornos. Como programa externo, su ejecutable VRMEditor.exe se puede ejecutar directamente desde el operativo, estando localizado en la carpeta Applications\VRMTools a partir del directorio de VRS. En la configuración de instalación por defecto de VRS se encuentra accesible con la opción del menú File>>VRM Tools>>VRM Editor. Una vez ejecutado, es un programa como otro cualquiera, con acceso desde la barra de tareas. Si VRM Editor está en ejecución se volverá a abrir en caso de lanzarse a ejecución de nuevo. Su interfaz es el que se muestra a la derecha, disponiendo, como todas las aplicaciones de tipo VRM Tool, de un menú propio de tipo pop-up, accesible al pulsar sobre la ventana (fuera de los botones) con el botón derecho del ratón, que permite, si se activa la opción Always Visible (como aparece por defecto), tener esta aplicación siempre visible por encima de cualquier otra ventana, incluida la de VRS. El interfaz se compone de cuatro partes: listado de primitivas, botones de edición, botones de creación de primitivas y botones de ficheros. Creación de primitivas El modelador VRM Editor permite crear objetos como unión de primitivas gráficas. Estas primitivas se crean con los botones gráficos correspondientes, uno para cada tipo de primitiva

Page 16: Martin Mellado Arteche VirtualRobot mediante · VRS LOADER 10 5. VRS TEACHPENDANT 12 6. VRS TRACECONTROL 20 7. VRS IOCONNECTION 21 8. VRS PARTHANDLING 22 9. VRS SPEEDCONTROL 24 10

Simulación en robótica mediante VirtualRobot

Introducción al sistema de modelado gráfico para robótica VRM 31

dando un total de 20 botones. Las primitivas gráficas disponibles y sus iconos son las siguientes:

PO

INT

LIN

E

DIS

K

TRIA

NG

LE

3DFA

CE

BO

X

PYR

AM

ID

TRIA

NG

ULA

R_

PYR

AM

ID

TEN

T

WE

DG

E

CO

NE

TUB

E

SP

HER

E

DO

ME

TOR

US

CO

NE

_ S

PH

ERE

CO

NE

_TW

O_

SP

HE

RE

S

TEN

T_

CY

LIN

DE

R

TEN

T_TW

O_

CY

LIN

DE

RS

FRA

ME

Cada primitiva geométrica se define mediante una serie de parámetros geométricos (dimensiones). La definición de los parámetros geométricos de cada primitiva viene explicada en el apéndice A. Para crear una primitiva se selecciona el botón correspondiente. Por ejemplo, al seleccionar el icono de la primitiva Box aparece el siguiente diálogo para introducir datos: Identifier: nombre de la primitiva (este campo no es modificable)

Dimensions (U, V, W): dimensiones o parámetros geométricos. En el caso del prisma son: Length (longitud), Width (anchura), Height (altura) Colour: Abre un diálogo para seleccionar el color de la primitiva. El color seleccionado está representado en el rectángulo superiorCancel: cancela la definición de la primitiva OK: Guarda y termina la definición de la primitiva

Transformations: Abre un diálogo para permitir localizar la primitiva. Este diálogo se comenta a continuación Scaling: Abre un diálogo que permite escalar la primitiva (multiplica todos sus parámetros geométricos por un factor de escala mayor que cero) En este diálogo se deben introducir las dimensiones (opcionalmente, escalarlas) y seleccionar el color adecuado. Para localizar las primitivas se dispone de las transformaciones tal como se explica en la siguiente sección. Tarea 3.1: � Pulsa el icono Box para definir un prisma (NO pulses el botón OK en esta tarea, ya que

continúa en la Tarea 3.2). � Prueba a cambiar sus dimensiones para ver cómo se ajusta dinámicamente. � Cambia el color de la primitiva. � Escala la primitiva a tamaño doble (Scale Factor=2) y mitad (Scale Factor=0.5). Localización de primitivas El botón Transformations abre el siguiente diálogo:

DISA UPV

32 Introducción al sistema de modelado gráfico para robótica VRM

Type: Define el tipo de transformación: Desplazamiento (D) o Rotación (R) Axis: Selecciona respecto a qué eje se aplicará la transformación pudiendo ser un eje global (X,Y,Z) o local (U,V,W) Ok: termina la definición de transformaciones y vuelve al diálogo anterior (creación de primitiva) salvando las transformaciones realizadas

Cancel: cancela la definición de las transformaciones y vuelve al diálogo anterior (creación de primitiva) recuperando el estado en que se encontraban las transformaciones al iniciar este diálogo Information: Muestra la matriz de transformación homogénea Initialize: Elimina todas las transformaciones de la lista Minimize: Minimiza la transformación a seis o menos transformaciones básicas (RX,RY,RZ,DX,DY,DZ) Undo: Deshace la última transformación básica de la lista eliminándola

Value: Introduce un valor de desplazamiento o ángulo (en grados) Apply: Aplica la transformación básica definida con la terna (Type, Axis, Value) y la añade al final de la lista Zero: Pone a cero el valor del campo Value <<<, <<, <: restan 100,10,1 respectivamente al valor del campo Value >, >>, >>>: suman 1,10,100 respectivamente al valor del campo Value El uso de este diálogo, que aparenta cierta dificultad, es más sencillo de lo que parece. Permite aplicar desplazamientos y rotaciones del objeto respecto a los ejes principales del mismo U,V,W (que se mueven solidariamente con el objeto) o los ejes globales del “mundo” X,Y,Z (que permanecen estáticos o fijos). Como ayuda al uso del diálogo, aparecen dibujados (inicialmente solapados) los ejes de ambos sistemas de coordenadas, usando la nomenclatura de tres ejes con los colores rojo, verde y azul (RGB), que representan los ejes X,Y,Z o U,V,W respectivamente de dichos sistemas. Sobre cada uno de estos ejes se pueden realizar operaciones de traslación o de rotación. A no ser que dos ejes sean paralelos, el efecto de las traslaciones respecto a uno y otro será diferente. Igualmente, a no ser que dos ejes sean coincidentes, el efecto de las rotaciones será distinto. Para comprender su funcionamiento, realizar las siguientes tareas. Tarea 3.2: � Realiza desplazamientos (Type=D) en los ejes X,Y,Z (ejes fijos) de valor 100 (o cualquier

otro) hasta familiarizarse con su uso. Fijaros que una vez se define el tipo, el eje y el valor de la transformación básica, se debe aplicar con el botón Apply.

� Realiza desplazamientos en los ejes U,V,W. Nótese que el efecto es el mismo (desplazar en U hace lo mismo que desplazar en X) ya que los ejes se mantienen paralelos.

� Prueba las opciones Information, Undo, Minimize e Initialize.

Recuerda que estás usando VRS, con lo que tienes todas sus facilidades gráficas de visualización a tu disposición (zoom, scroll, point of view, etc).

Tarea 3.3: � Inicializa la transformación (botón Initialize). � Realiza una rotación (Type=R) en el eje Z de ángulo 60. � Realiza desplazamientos en los ejes X y U. Deduce la diferencia entre los desplazamientos

respecto a ejes fijos y locales. � Realiza desplazamientos en los ejes Y y V. Deduce la diferencia entre los desplazamientos

respecto a ejes fijos y locales. Tarea 3.4: � Inicializa la transformación (botón Initialize). � Realiza desplazamientos en X, Y, Z.

Page 17: Martin Mellado Arteche VirtualRobot mediante · VRS LOADER 10 5. VRS TEACHPENDANT 12 6. VRS TRACECONTROL 20 7. VRS IOCONNECTION 21 8. VRS PARTHANDLING 22 9. VRS SPEEDCONTROL 24 10

Simulación en robótica mediante VirtualRobot

Introducción al sistema de modelado gráfico para robótica VRM 33

� Realiza rotaciones en los ejes U,V,W (ejes principales del objeto) eligiendo un ángulo deseado.

� Realiza rotaciones en los ejes X,Y,Z (ejes fijos del mundo). Deduce la diferencia entre las rotaciones respecto a ejes fijos y locales.

Dado que este diálogo es básico para localizar las primitivas que componen los objetos, resulta necesario tener claro su manejo antes de proseguir con la siguiente sección.

Tarea 3.5: � Determina la localización de la primitiva como desees. � Cierra el diálogo de transformaciones (botón Ok). � Cierra el diálogo de definición de la primitiva Box (botón OK). Desde este momento se

dispone de una primitiva en el modelador. Copia, edición y borrado de primitivas Las primitivas ya creadas pueden duplicarse con el botón Copy. Basta con seleccionar la primitiva a duplicar de la lista de primitivas existentes y pulsar el botón Copy. Se abrirá el diálogo de creación para poder cambiar las dimensiones, el color o la localización de la replica (en otro caso ambas primitivas quedarán solapadas). En caso de cancelar se pierde la copia. Cualquier primitiva introducida se puede editar, esto es, modificar cualquiera de sus dimensiones o parámetros geométricos, cambiarle el color, escalarla o modificar su localización. Para ello se debe seleccionar su nombre en la lista de primitivas y pulsar el botón Edit y se abre el diálogo de creación de la primitiva para poder cambiar las dimensiones, el color o la localización de la primitiva. Por otra parte, cualquier primitiva introducida se puede eliminar. Para ello se debe seleccionar su nombre en la lista de primitivas y pulsar el botón Delete. Nota que NO pide confirmación y que no se puede recuperar una primitiva una vez eliminada. Finalmente, también se pueden eliminar todas las primitivas creadas en VRS mediante el botón Delete All, que pedirá confirmación antes de cumplir la acción. Tarea 3.6: � Introduce varias primitivas de tipos diferentes (excepto Frame) y localízalas en el espacio

haciendo uso de diferentes opciones. � Prueba las opciones de edición, copia y borrado de primitivas para familiarizarte con su uso. Almacenamiento de objetos Una vez se han introducido todas las primitivas que forman un objeto, éste se puede salvar en un fichero con el botón Save. Tras un diálogo para seleccionar el directorio e introducir el nombre del fichero, las primitivas existentes se guardan en un fichero con extensión OBF. Para mantener una estructura de ficheros coherente, se recomienda guardar los ficheros en la carpeta Models\User (a partir de la cual se pueden organizar los ficheros por carpetas). El objeto se salva en un fichero con formato ASCII (modificable por tanto con cualquier editor de texto). El formato OBF está comentado en el apéndice B. Tarea 3.7: � Modela libremente una mesa con dimensiones 120cm x 60cm y 75cm de alto (recuerda usar

milímetros al modelar el objeto). � Guarda la mesa en un fichero (en la carpeta Models\User). Carga e importación de las primitivas de un objeto Las primitivas salvadas en ficheros de objetos se pueden cargar con el botón Load. Si las primitivas creadas no se han salvado pedirá confirmación, ya que en otro caso se perderán.

DISA UPV

34 Introducción al sistema de modelado gráfico para robótica VRM

Por otra parte, durante la creación de un objeto se pueden importar todas las primitivas de un objeto ya creado y guardado en fichero mediante el botón Import que permitirá seleccionar el fichero del objeto. Todas las primitivas que compongan el objeto almacenado en el fichero se añaden al objeto en creación actual. Tarea 3.8: � Modela libremente un par de objetos sencillos (máximo 4 primitivas) y guárdalos en dos

ficheros. � Crea un nuevo objeto importando la mesa y los objetos anteriores. Observa que una vez se

importan los objetos sólo se puede acceder a sus primitivas y pierden su condición de agrupación, con lo que no se puede re-localizar todo el objeto como un conjunto (esto se resuelve con la definición de entornos comentada en la siguiente sección).

� Elimina este nuevo objeto. 4. Modelado de entornos con objetos Tal como se ha visto en la sección anterior, con la ayuda de VRM Editor se pueden representar en VRS primitivas para modelar objetos y almacenarlos en ficheros. Si se desea que VRS pueda representar estos objetos como entidades agrupadas, hay que formar ficheros de entorno. Un entorno es una unión de objetos (posteriormente se verá que también se pueden incorporar piezas). Para cargar objetos que definan entornos se recomienda usar la opción de buscar entornos disponible en VRS Loader (botón ) que ejecuta el programa VRM Visor. Su interfaz es el que se muestra a la derecha, disponiendo, como todas las aplicaciones de tipo VRM Tool, de un menú propio de tipo pop-up, accesible al pulsar sobre la ventana (fuera de los botones) con el botón derecho del ratón, que permite, si se activa la opción Always Visible (como aparece por defecto), tener esta aplicación siempre visible por encima de cualquier otra ventana, incluida la de VRS. Con esta aplicación se pueden visualizar y cargar ficheros de entorno en VRS activando la opción ENF y ficheros de objetos activando la opción OBF. También sirve para ficheros de piezas activando la opción PAF. VRM Visor muestra a la izquierda el árbol de directorios (parte superior) y el contenido del directorio (parte inferior) y a la derecha una visualización del contenido del fichero en una ventana gráfica. Pulsando dos veces con el ratón sobre la ventana gráfica se puede configurar el uso del ratón sobre la ventana gráfica. Con el botón Add to VRS se pueden añadir objetos al entorno actual disponible en VRS. Una vez se tiene al menos un objeto cargado en VRS (en otro caso no se arranca), se puede ejecutar la aplicación VRM Object Mover, accesible con la opción del menú File>>VRM Tools>>VRM Object Mover. Esta aplicación permite localizar, borrar y salvar objetos de un entorno, si bien su función principal es para cambiar la posición y orientación de un objeto ya existente en el entorno y permitir el modelado de entornos actuando de esta forma. Su interfaz es el que se muestra a la derecha, disponiendo, como todas las aplicaciones de tipo VRM Tool, de un menú propio de tipo pop-up, accesible al pulsar sobre la ventana (fuera de los botones) con el botón derecho del ratón, que permite, si se activa la opción Always Visible (como aparece por defecto), tener esta aplicación siempre visible por encima de cualquier otra ventana, incluida la de VRS.

Page 18: Martin Mellado Arteche VirtualRobot mediante · VRS LOADER 10 5. VRS TEACHPENDANT 12 6. VRS TRACECONTROL 20 7. VRS IOCONNECTION 21 8. VRS PARTHANDLING 22 9. VRS SPEEDCONTROL 24 10

Simulación en robótica mediante VirtualRobot

Introducción al sistema de modelado gráfico para robótica VRM 35

En el campo Object se puede seleccionar el objeto a re-localizar y con los botones “<” y “>” o tecleando directamente se puede cambiar el valor de las componentes x,y,z de posición o α,β,γ de orientación. La orientación se puede especificar en cualquiera de los tres tipos de ángulos de Euler y la localización se puede representar respecto al sistema del mundo o el del entorno (inicialmente coincidentes, sólo varían si se ha modificado esta relación con Place Environment). Se dispone de los botones Delete para eliminar un objeto del entorno, Save para salvar un objeto en su localización actual, Refresh para actualizar la lista de objetos (necesario cuando otra aplicación ha cargado nuevos objetos) y Setup para configurar los incrementos de los botones “<” y “>”. Con estas dos aplicaciones se pueden cargar y localizar objetos en VRS para formar entornos que se pueden salvar con el botón Save Environment de VRS Loader. Se recomienda guardar los ficheros en la carpeta Models\User. Los entornos se salvan en ficheros con extensión ENF cuyo formato está descrito en el apéndice B. Como ya se ha comentado, estos ficheros se pueden cargar en VRS con el botón Load Environment de VRS Loader. Tarea 4.1: � Asegúrate de tener un entorno vacío en VRS. � Añade en VRS la mesa definida en la sección anterior. � Añade en VRS uno de los objetos definidos en la sección anterior. � Localiza este objeto para que se sitúe encima de la mesa. � Añade en VRS el otro objeto y localízalo también encima de la mesa. � Salva el entorno en la carpeta Models\User y elimina el entorno. � Carga el entorno creado. 5. Modelado de piezas y de entornos con piezas Los objetos modelados con VRM podrán visualizarse en VRS para dar la sensación de que el robot se integra en un entorno con el que trabaja. Sin embargo, estos objetos son objetos inertes, sobre los que un robot no podrá operar. Por el contrario, con VRM se pueden definir piezas, que pueden ser operadas (por ejemplo manipuladas) por robots en VRS. La diferencia entre objetos y piezas es que estos disponen, además de un conjunto de primitivas para definir su forma geométrica, de al menos un sistema de coordenadas que servirá para que el robot realice movimientos relativos a este sistema de coordenadas o agarre la pieza por este sistema de coordenadas. Para definir piezas, se trabaja con VRM Editor igual que para definir objetos, con la única salvedad de que debe crearse al menos un Frame con el botón correspondiente. Una vez se active este tipo, VRM añade un sistema de coordenadas de operación de la pieza (operation frame) inicialmente con transformación identidad. El campo Display Size así como la opción de escalado sólo sirve para la visualización del Frame, sin ser un campo de definición de un parámetro geométrico. Para localizar el Frame se debe hacer uso del diálogo de Primitive Transformations accesible con el botón Transformations. La creación de piezas se realiza en su parte geométrica igual que la creación de objetos, pudiendo introducir, editar, copiar o borrar primitivas de la misma forma. La única exigencia es que se haya creado una primitiva Frame. Las piezas se salvan en ficheros con extensión PAF con el formato descrito en el apéndice B. Para la creación de piezas se pueden importar ficheros de objetos OBF y/o ficheros de piezas PAF. Se recomienda guardar los ficheros de piezas en la carpeta Models\User. Las piezas se pueden incluir en los ficheros de entornos que se visualizan en VRS haciendo uso de la aplicación VRM Visor que se ha comentado anteriormente. Hay que activar la opción PAF para poder visualizar ficheros de piezas existentes.

DISA UPV

36 Introducción al sistema de modelado gráfico para robótica VRM

Tarea 5.1: � Asegúrate de tener un entorno vacío en VRS. � Modela una pieza sencilla (un par de primitivas y un sistema de operación). � Salva la pieza a fichero en la carpeta Models\User. Tarea 5.2: � Asegúrate de tener un entorno vacío en VRS. � Carga el entorno creado en la Tarea 4.1. � Añade al entorno la pieza creada en la tarea anterior. � Carga el robot CRS A465.rkf en VRS y sitúalo encima de la mesa. � Activa el modo de visualización de sistemas de operación activando el campo PARTS de la

opción del menú Display>>Frames.... 6. Operación sobre las piezas en VRS La definición de los sistemas de operación es imprescindible para poder programar en VRS las operaciones de: � Mover un robot para que el sistema de coordenadas activo de una de sus herramientas sea

coincidente con el sistema de operación de una pieza (MoveToPart). � Mover un robot para que el sistema de coordenadas activo de una de sus herramientas se

aproxime al sistema de operación de una pieza (ApproxToPart). � Hacer que una herramienta del robot coja una pieza forzando a que la relación entre el

sistema de coordenadas activo de una de sus herramientas y el sistema de operación de una pieza sea constante (PickPart).

Para definir dónde se coloca un sistema de operación de una pieza que sea útil hay que saber qué tipo de operación se va a realizar sobre esta pieza y cómo está situado el sistema de la herramienta del robot que vaya a realizar la operación. Por ejemplo, supóngase que se desea diseñar una pieza que pueda ser manipulada por el robot CRS A465 que dispone de una herramienta tipo ventosa neumática (Figura 2). El sistema de coordenadas de esta herramienta está modelado en VRS con su origen situado en el centro de su cara exterior, el eje X apuntando hacia el exterior de la ventosa y el eje Z hacia arriba verticalmente en la posición de reposo del robot.

X

Z

X

YZ

Figura 2. Modelo de la ventosa del CRS A465 y su ToolFrame. Para simular que el robot con la ventosa coge una pieza habrá que situar un sistema de operación en la pieza como se muestra en la Figura 3a, de forma que se pueda ordenar al robot un movimiento que sitúe el sistema de coordenadas de la ventosa coincidente al sistema de operación tal como se ve en la Figura 3b, para permitir que la ventosa coja la pieza.

Page 19: Martin Mellado Arteche VirtualRobot mediante · VRS LOADER 10 5. VRS TEACHPENDANT 12 6. VRS TRACECONTROL 20 7. VRS IOCONNECTION 21 8. VRS PARTHANDLING 22 9. VRS SPEEDCONTROL 24 10

Simulación en robótica mediante VirtualRobot

Introducción al sistema de modelado gráfico para robótica VRM 37

Z

Z

Y

Y

X

X

Z

Y

X

Figura 3. a) Sistema de operación. b) Situación de cogida. Si la pieza es un cilindro situado en el suelo, bastará con aplicar las dos siguientes transformaciones: � Rotación en V de 90º para orientar el sistema con el eje X vertical hacia abajo. � Desplazar en Z la altura del cilindro, para situar el origen del sistema de operación en la

cara superior del cilindro. Tarea 6.1: � Modela una pieza compuesta de un cilindro que pueda manipular el CRS A465 con la

ventosa mediante un sistema de operación. � Salva la pieza a fichero. � Crea un entorno que tenga tantos objetos como desees pero como única pieza el cilindro

anterior situado con una única transformación que sea un desplazamiento de 500mm en el eje X.

� Salva el entorno en la carpeta Models\User. � Carga el robot CRS A465 Vacuum.rfk de la carpeta Models\Tutorial. � Con VRS PartHandling, manipula la pieza. 7. Ejercicios prácticos El CRS A465 también puede disponer como herramienta de una pinza electromecánica servocontrolada. El sistema de coordenadas de esta herramienta (Figura 4) está modelado en VRS con su origen situado en el plano en que se tocan los dedos al cerrarse, sobresaliendo 21mm desde la placa base de los dedos y hundido 4mm desde el extremo de los dedos (de longitud 25mm). La orientación es similar a la del sistema de coordenadas de herramienta de la ventosa.

X

Z

X

YZ

Figura 4. Modelo de la herramienta pinza del CRS A465 y su ToolFrame.

DISA UPV

38 Introducción al sistema de modelado gráfico para robótica VRM

El movimiento de los dedos de la pinza está modelado mediante 4 estadios con aperturas entre los dedos de 51mm (pinza abierta), 33mm (semiabierta), 15mm (semicerrada) y 1mm (pinza cerrada) tal como se muestra en la Figura 5.

Figura 5. Modelos de los estados de la pinza del CRS A465. Ejercicio 7.1: Modela un entorno que tenga dos piezas para la manipulación del robot CRS A465 (sitúa la pieza en algún lugar alcanzable por el robot) de la siguiente forma: � La primera pieza se debe agarrar correctamente con la pinza en estado semiabierto. � La segunda pieza se debe agarra correctamente con la pinza en estado semicerrado. Manipula las piezas en VRS con VRS PartHandling. Ejercicio 7.2: Modela un entorno que tenga una pieza para la manipulación del robot CRS A465 de la siguiente forma: � Con un sistema de operación la pieza se debe agarrar correctamente con la pinza en estado

semiabierto. � Con otro sistema de operación la pieza se debe agarrar correctamente con la pinza en

estado semicerrado. Manipula las piezas en VRS con VRS PartHandling.

Page 20: Martin Mellado Arteche VirtualRobot mediante · VRS LOADER 10 5. VRS TEACHPENDANT 12 6. VRS TRACECONTROL 20 7. VRS IOCONNECTION 21 8. VRS PARTHANDLING 22 9. VRS SPEEDCONTROL 24 10

Simulación en robótica mediante VirtualRobot

Introducción al sistema de modelado gráfico para robótica VRM 39

A. Definición de primitivas Las primitivas geométricas y sus parámetros de definición están detallados en el documento VRPD (VirtualRobot Primitive Definition) pero a modo de ayuda a continuación se muestran una gráfica resumen de los mismos.

Figura A1. Primitivas Geométricas y Parámetros de Definición.

DISA UPV

40 Introducción al sistema de modelado gráfico para robótica VRM

B. Formato de ficheros El formato de los ficheros OBF, PAF y ENF están detallados en el documento VRFFD (VirtualRobot File Format Definition) y se resumen a continuación (los “;” indican comentario hasta fin de línea, los tabuladores no son significativos). ; OBJECT DESCRIPTION FILE (OBF) ; This file describes an Object as a set of Primitives [GENERAL] ; General Information

Name = Table ; Object Name Manufacturer = ; Robot Manufacturer (for robot components) Model = ; Robot Model (for robot components) Author = Juan Vte. Catret ; Author Company = DISA - UPV ; Company Date = 9/2/99 ; Date

[PRIMITIVE1] ; First Primitive of Object

Type = BOX ; Type of Primitive: ; POINT (x, y, z) ; LINE (x1, y1, z1, x2, y2, z2) ; DISK (Main_Radius>0, Minor_Radius>=0, 0<Angle<=360 [Main_Radius>=Minor_Radius]) ; TRIANGLE (x1, y1, z1, x2, y2, z2, x3, y3, z3) ; 3DFACE (x1, y1, z1, x2, y2, z2, x3, y3, z3, x4, y4, z4) ; BOX (Length>0, Width>0, Height>0)

; PYRAMID (Length>0, Base_Width>0, Top_Width>=0, Height>0) ; TRIANGULAR_PYRAMID (Base_Edge>0, Top_Edge>=0, Height>0) ; TENT (Base_Length>0, Base_Width>0, Top_Length>0, Top_Width>=0, Height>0) ; WEDGE (Base_Length>0, Width>0, Top_Length>0, Height>0) ; CONE (Base_Radius>0, Top_ Radius>=0, Height>0) ; TUBE (Main_Radius>0, Minor_Radius>=0, 0<Angle<=360 [Main_Radius>Minor_Radius] , Height>0) ; SPHERE (Radius>0) ; DOME (Base_Radius>0, Height>0) ; TORUS (Main_Radius>0, Minor_Radius>0) ; CONE_SPHERE (Base_Radius>=0, Top_Radius>0, Height>0) ; CONE_TWO_SPHERES (Base_Radius>0, Top_Radius>0, Height>0) ; TENT_CYLINDER (Width>0, Base_Length>=0, Top_Length>0, Height>0) ; TENT_TWO_CYLINDERS (Width>0, Base_Length>0, Top_Length>0, Height>0) ; VDA_CURVE (No_Segments, ...) ; VDA_SURF (No_Patches, ...) ; VDA_FILE (FileName, Thickness>0, Curve_Sections>0, Surface_Sections>0) ; OBF_FILE (FileName) ; For VDA_FILE and OBF_FILE, the file name must include extension and start from VRS Path

RGB = 255,0,0 ; Red-Green-Blue (RGB) components for Colour (0..255,0..255,0..255) ; This field can be avoided for OBF_FILE primitive (it has no effect if exists) Length = 30.00 ; Name and value of parameters according to type of Primitive Width = 100.00 ; Dimensions on mm (degrees for angles) Height = 150.00 Transformations = DX>5.000, RZ>90.000 ; Location of Primitive1 related to Object Frame

; Defined with as many Basic Transformations as required ; Transformations can be: Displacements (D) or Rotations (R)

; The axis is indicated with (X,Y,Z,U,V,W) before the symbol '>' ; Transformations related to Object (X,Y,Z) or Primitive (U,V,W) Frames ; The transformations will be applied in the specified order ; Dimensions expressed on mm or degrees (real numbers) ; Transformations = I must be used for identity (no rotation or translation)

[PRIMITIVE2] ; Second Primitive of Object

..

.. ; As many Primitives as required to define Object (at least one)

Page 21: Martin Mellado Arteche VirtualRobot mediante · VRS LOADER 10 5. VRS TEACHPENDANT 12 6. VRS TRACECONTROL 20 7. VRS IOCONNECTION 21 8. VRS PARTHANDLING 22 9. VRS SPEEDCONTROL 24 10

Simulación en robótica mediante VirtualRobot

Introducción al sistema de modelado gráfico para robótica VRM 41

; PART DESCRIPTION FILE (PAF) ; This file describes a Part as an Object with a Operating Frame defined for Robot Operation [GENERAL] ; General Information

Name = Screw ; Part Name Manufacturer = ; Robot Manufacturer (for robot components) Model = ; Robot Model (for robot components) Author = David Puig ; Author Company = DISA - UPV ; Company Date = 9/2/99 ; Date

[OPERATION1] ; Location of Operation Frame 1 related to Part Frame Transformations = I ; Defined with Basic Transformations (related to Part Frame) [OPERATION2] ; Location of Operation Frame 2 related to Part Frame Transformations = I ; Defined with Basic Transformations (related to Part Frame)

.. ; As many Operation Frames as required to define Part

; (at least one) [PRIMITIVE1] ; Defined as a Primitive in Object Geometric Description File

.. ; Transformations related to Part (X,Y,Z) or Primitive (U,V,W) Frames

[PRIMITIVE2] ..

.. ; As many Primitives as required to define Part (at least one)

DISA UPV

42 Introducción al sistema de modelado gráfico para robótica VRM

; ENVIRONMENT GEOMETRIC DESCRIPTION FILE (ENF) ; This file describes an Environment as a set of Objects and Parts [GENERAL] ; General Information

Name = RoboticsLaboratory ; Environment Name Manufacturer = ; No sense for Environment Model = ; No sense for Environment Author = Carlos Correcher ; Author Company = DISA - UPV ; Company Date = 9/2/99 ; Date

[OBJECT1] Name = Table ; Object Name Transformations = I ; Location of Object1 related to Environment Frame [OBJECT1_PRIMITIVE1] ; Defined as a Primitive in Object Geometric Description File .. ; Transformations related to Object (X,Y,Z) or ; Primitive (U,V,W) Frames [OBJECT1_PRIMITIVE2] ; As many Primitives as required to define Object1 (at least 1) .. [OBJECT2] ..

.. ; As many Objects as required to define Environment (even none)

[PART1] Name = Screw ; Part Name Transformations = I ; Location of Part1 related to Environment Frame [PART1_OPERATION1] Transformations = I ; Location of Operation Frame 1 related to Object Frame [PART1_OPERATION2] ; As many Operation Frames as required to define part (at least 1) .. [PART1_PRIMITIVE1] ; Defined as a Primitive in Object Geometric Description File .. ; Transformations related to Part (X,Y,Z) or Primitive (U,V,W) Frames [PART1_PRIMITIVE2] ; As many Primitives as required to define Part1 (at least 1) .. [PART2] ..

.. ; As many Parts as required to define Environment (even none)