Guia 6
Guia 6
Guia 6
Guía 6 1
Facultad: Ingeniería.
Escuela: Electrónica
Asignatura: Fundamentos de Robótica
Lugar de ejecución: iCIM Lab.
Edificio 3. Primera planta.
Objetivo General
Objetivos específicos
• Definir las posiciones en el software CIROS Robotics para los movimientos que realizará el robot
Mitsubishi.
• Crear programas en el lenguaje Melfa Basic IV para realizar tareas de desplazamiento de piezas de
un robot Mitsubishi.
• Simular la ejecución de programas en el ambiente 3D del software CIROS Robotics.
Introducción Teórica
NOTA: Este mismo formato de archivos y procedimiento de relación de los diferentes archivos de
proyecto es el mismo en el software de modelado, carga/descarga y depuración en línea CIROS Studio.
Propiedad de la Universidad Don Bosco Prohibida su reproducción total o parcial para otros fines 2016
Fundamentos de Robótica. Guía 6 2
TOMAR Comentarios
Definición de posiciones
Definición de I/O
Definición de variables
Propiedad de la Universidad Don Bosco Prohibida su reproducción total o parcial para otros fines 2016
Fundamentos de Robótica. Guía 6 3
Programa principal
Etiqueta
Llamada a Subrutina
Salto a línea
Inicio
Subrutina
Final
Líneas de instrucción
El programa se construye en base a líneas de instrucción que se ejecutarán de manera secuencial,
excepto que haya instrucciones de salto, bucles o llamadas a subrutina. Los elementos que las forman se
muestran a continuación.
Ejemplo de declaración de un comando:
10 MOV P1 WTHM_OUT (17) = 1
• Número de línea Es el número usado para determinar el orden de ejecución del programa. El
programa se ejecutará en orden ascendente.
• Nemotécnico de la instrucción Es un comando que designa la operación a realizar por el robot.
• Dato El dato puede ser un valor o una variable del tipo requerido por la instrucción.
• Declaración añadida Solo se usa si es necesario.
Propiedad de la Universidad Don Bosco Prohibida su reproducción total o parcial para otros fines 2016
Fundamentos de Robótica. Guía 6 4
Tipos de variables
Figura 2. Jerarquía de las variables en los programa en el lenguaje Melfa Basic IV.
2. Instrucciones básicas
En la programación de brazos robot, siempre persiste un tipo de instrucciones básicas para todos los
tipos software que son aquellas que definen los movimientos más simples del brazo y que por sí solas
son las base de la mayoría de las secuencias de una aplicación.
Movimiento No Interpolado
El Robot genera una trayectoria cualquiera entre el punto origen y el punto de destino, obteniendo para
cada una de las articulaciones del robot, las coordenadas, velocidad y aceleración que a lo largo del
tiempo se han de imprimir para lograr el movimiento especificado.
Pese a su complejidad es la forma más rápida para el robot.
• MOV
El robot se mueve a la posición indicada con una interpolación angular de cada eje.
El camino recorrido no se puede prever. Se pueden introducir las declaraciones añadidas WTH o
WTHIF.
Ejemplos de llamadas de instrucción:
Propiedad de la Universidad Don Bosco Prohibida su reproducción total o parcial para otros fines 2016
Fundamentos de Robótica. Guía 6 5
Programa ejemplo:
10 MOV P1
20 MOV P2, -50
30 MOV P2
40 END
Figura 4. Ejemplo del tipo de movimiento no interpolado (MOV) en el lenguaje Melfa Basic IV.
Figura 5. Tipo de movimiento lineal interpolado (MVS) en el lenguaje Melfa Basic IV.
• MVS
El robot se mueve en línea recta hacia la posición indicada. Se pueden introducir las declaraciones
añadidas WTH o WTHIF.
Ejemplos de llamadas de instrucción:
MVS P1............. Se mueve hasta P1.
MVS P1+P2....... Se mueve a la posición resultante de sumar P1 y P2.
MVS P1*P2........Se mueve a la posición relativa convertida de P1 a P2.
Propiedad de la Universidad Don Bosco Prohibida su reproducción total o parcial para otros fines 2016
Fundamentos de Robótica. Guía 6 6
MVS P1, -50......Se mueve desde P1 hasta una posición a 50mm en la dirección de la pinza.
MVS , -50.......... Se mueve 50mm desde la posición actual en la dirección de la pinza.
MVS P1 WTH M_OUT(7)=1.......... Empieza el movimiento hacia P1, y simultáneamente enciende la
salida 7.
MVS P1 WTHIF M_IN(9)=1, SKIP.............. Si durante el movimiento hacia P1 el bit 9 de entrada se
activa, se para el movimiento y el programa sigue.
MVS P1, TYPE 0, 2......... Se mueve hasta P1 con una interpolación ABC.
MVS P1, TYPE 0, 1......... Se mueve a P1 con una interpolación ortogonal de 3 ejes.
• HOPEN / HCLOSE
Abre/cierra la pinza designada.
• OVDR
Designa la velocidad de movimiento según un porcentaje relativo a la velocidad máxima. Afecta a
todos los movimientos posteriores, si es que no se vuelve a modificar el valor.
• SPD
Define la velocidad de interpolación linear y circular(para instrucciones MVS, MVR y MVC) de la
pinza en mm/s.
• DLY
Espera los segundos indicados (el mínimo es 0.05), y luego sigue con el programa.
3. Instrucciones de movimiento
• MVR
El robot se mueve por una circunferencia definida por tres puntos. Si al empezar el movimiento no se
encuentra en el punto de inicio, se moverá linealmente hasta él antes de empezar. Se pueden introducir
las declaraciones añadidas WTH o WTHIF.
MVR: Se define el punto de inicio, uno de tránsito, y el punto final.
MVR2: Se define la posición inicial, la final, y un punto de referencia por el que no pasará.
Propiedad de la Universidad Don Bosco Prohibida su reproducción total o parcial para otros fines 2016
Fundamentos de Robótica. Guía 6 7
MVR3: Se define el punto inicial, el final y el centro del círculo. El movimiento va del inicial al final
por el camino más corto del círculo.
MVC: Se define la posición de inicio (y final), punto de tránsito 1, y punto de tránsito 2. El movimiento
sigue el recorrido:
inicio tránsito1 tránsito2 final.
Programa ejemplo:
10 MVR P1, P2, P3
20 MVR2 P3, P4, P5
30 MVR3 P4, P6, P7
40 MVC P6, P8, P9
50 END
Figura 6. Ejemplo del tipo de movimiento circular en el lenguaje Melfa Basic IV.
• CNT
Define el principio y el final de un movimiento continuo.
Propiedad de la Universidad Don Bosco Prohibida su reproducción total o parcial para otros fines 2016
Fundamentos de Robótica. Guía 6 8
Programa ejemplo:
10 MOV P1
20 CNT 1
30 MVS P2
40 CNT 1, 50, 100
50 MVS P3
60 MVS P4
70 CNT 0
80 END
Figura 7. Ejemplo de aplicación del movimiento continuo (CNT) en el lenguaje Melfa Basic IV.
• ACCEL
Define la aceleración y desaceleración durante el movimiento como un porcentaje del máximo.
• JOVDR
Define la velocidad de movimiento angular axial (para instrucciones MOV), como un porcentaje de la
máxima.
• HLT
Para la ejecución del programa y entra en el estado de paro.
• FINE
Define las condiciones de posicionamiento final con un número de pulsos.
• TOOL
Configura la forma de la herramienta que usamos, y configura el punto de control.
Materiales y equipos
Procedimiento
Propiedad de la Universidad Don Bosco Prohibida su reproducción total o parcial para otros fines 2016
Fundamentos de Robótica. Guía 6 10
Figura 8. Búsqueda del programa CIROS Robotics dentro de Todos los Programas de Windows 7.
2. Una vez abierta la aplicación, el primer paso es crear un proyecto en File→New→Project Wizard
Propiedad de la Universidad Don Bosco Prohibida su reproducción total o parcial para otros fines 2016
Fundamentos de Robótica. Guía 6 11
Figura 11. Ventana del Parámetros del Robot del Asistente del proyecto de CIROS Robotics.
5. La tercera ventana preguntará por los cambios realizados a manera de comentario. No es un campo
requerido pero puede escribir lo que usted considere le servirá después.
6. Presione finish para iniciar con el proyecto de simulación.
7. Le aparecerán en la pantalla de la aplicación cuatro ventanas con información acerca de su proyecto.
La ventana superior izquierda muestra al robot que usted escogió, otra ventana muestra el listado de
posiciones, otra muestra las líneas de comando del programa principal del robot y una tercera
ventana muestra los mensajes de alarma del sistema.
8. A continuación se muestra la pantalla principal de un proyecto recién abierto. Tanto el nombre del
Propiedad de la Universidad Don Bosco Prohibida su reproducción total o parcial para otros fines 2016
Fundamentos de Robótica. Guía 6 12
archivo del programa como el nombre del archivo de las posiciones llevan el nombre que se digitó
en el campo Program Name en la inicialización del proyecto.
Figura 12. Ventanas del modelo 3D, mensajes, programa y posiciones de CIROS Robotics.
9. Haga clic en la ventana del robot para que la atención de la aplicación se centre en ella. Vaya a
View → Standard Views y pruebe cada una de las opciones para que pueda visualizar el robot que
ha escogido.
10. Puede hacer la ventana del robot más grande o más pequeña según su percepción personal lo
requiera.
11. También puede escoger en el menú View las opciones Zoom In y Zoom Out para aumentar o
disminuir el tamaño de la visualización del objeto.
12. Puede moverse dentro de la ventana escogiendo Move en el menú View o presionando el botón
e inmediatamente yendo a la ventana, haciendo clic y moviéndose al punto de vista deseado.
13. Puede rotar la vista escogiendo Rotate en el menú View o presionando el botón e
inmediatamente yendo a la ventana, haciendo clic y rotando al punto de vista deseado.
14. Explore el menú View para que se sienta cómodo al trabajar en la programación del robot que ha
escogido.
15. Para tomar control del robot vaya a Programming → Teach-In para que se le abra la ventana de
modo Jog Operation:
Propiedad de la Universidad Don Bosco Prohibida su reproducción total o parcial para otros fines 2016
Fundamentos de Robótica. Guía 6 13
Figura 14. Ajuste de la velocidad de movimiento de las articulaciones del robot simulado.
A mayor porcentaje, más velocidad. 100% es la velocidad máxima.
17. Puede abrir y cerrar las mordazas del robot presionando el botón Close Hand (al cerrar la pinza el
botón cambiará a Open Hand)
18. Hasta este momento usted ha controlado el robot moviendo cada una de sus articulaciones. En
procesos cotidianos usted requerirá que la pinza del robot se mueva desde una posición hasta otra
llevando algo en ella. Hacer este desplazamiento moviendo una articulación a la vez le resultará
muy difícil y tedioso. Afortunadamente hay otra manera de mover al robot todo a la vez cuidando la
inclinación de la pinza constante durante todo el trayecto. Este es el modo XYZ
19. Para ingresar a este modo de control del robot escoja XYZ Jog en la ventana Jog Operation. La
apariencia de la ventana cambiará, y podrá ver controles para mover el robot en línea recta en X, en
Y y en Z.
20. Mueva el robot trazando un cuadrado alrededor de él, esto lo logrará fácilmente utilizando los
controles X e Y. Note que existen límites para el movimiento rectilíneo, ya que el robot no puede
alcanzar todos los puntos de la línea recta, algunos le resultarán muy lejanos (las esquinas del
cuadrado) y algunos le resultarán tan cercanos que sus articulaciones no podrán proporcionar el
punto sin antes cambiar la posición de las articulaciones.
21. Al usar el modo Joint se abre la posibilidad de mover individualmente cada articulación del robot.
Al momento de elegir el modo JOINT podrá observar que los controles de movimiento cambian y
se despliega un control para mover cada articulación en cada sentido.
22. Utilice este tipo de control cuando necesite desarrollar movimientos de alta complejidad que
incluyen inclinación o direccionamiento específico del elemento terminal del robot.
Propiedad de la Universidad Don Bosco Prohibida su reproducción total o parcial para otros fines 2016
Fundamentos de Robótica. Guía 6 14
Figura 15. Ventana de operación manual del robot, por medio de cada articulación.
23. Se aprendió en el modo XYZ que en ese tipo de control de movimiento el elemento terminador del
robot (pinza) conservaría su inclinación y sentido y que se movería siguiendo en forma paralela los
ejes cartesianos absolutos. El modo Tool también permite el control de movimiento en forma
paralela a los ejes, pero con la particularidad que los ejes que sigue el movimiento del modo Tool
no son paralelos a los ejes absolutos.
Al trabajar en el modo Tool el control de movimiento seguirá paralelamente los ejes que definen la
inclinación y sentido del elemento terminador. De esta manera si la extremidad final del robot está
inclinada en un sentido, los ejes en los cuales se moverá seguirán paralelamente los ejes inclinados
que definen la extremidad final del robot.
En la siguiente figura se muestran los ejes a lo largo de los cuales se movería el elemento
terminador del robot al escoger este tipo de control de movimiento.
Figura 16. Operación manual del robot, por medio del marco de referencia trasladado al elemento
terminal.
Observe que los ejes no son paralelos a X, Y, Z sino que tienen su propia dirección y sentido
particular y están alineados con el elemento terminal.
Propiedad de la Universidad Don Bosco Prohibida su reproducción total o parcial para otros fines 2016
Fundamentos de Robótica. Guía 6 15
24. El robot se moverá desde una posición inicial a una posición final en cada uno de sus movimientos.
Algunas posiciones están definidas para realizar una labor específica en esa posición, tal como asir
un objeto, si se trata de un robot con pinza o mordaza u otra labor de ensamble, como apretar un
tornillo o aplicar una sustancia adhesiva. Otras posiciones son simplemente el punto de origen para
iniciar el movimiento hacia otra posición, y otras son simplemente el punto neutral entre muchas
posiciones.
Se ubicará la pinza del robot en la posición inicial en el plano de referencia horizontal (lo que la
visualización representa como el piso) cualquier ubicación que sea en z=0. Se guardará esta
posición como POSICION1.
25. Ubique la pinza del robot en el lugar indicado, y presione en la ventana de control de movimiento
del robot (JOG Operation) el botón .
26. Si usted recién acaba de iniciar un proyecto usted tendrá en la pantalla principal la ventana del
listado de posiciones, y en ella aparecerá la información de la posición que acaba de dar. Las
posiciones en la tabla de posiciones quedan definidas como una serie de 6 coordenadas:
(X,Y,Z,Roll,Pitch,Yaw) las coordenadas X, Y, Z definen las posiciones cartesianas del elemento
terminal respecto al origen del robot. Las coordenadas ya se han explicado en el apartado de
manipulación del robot de la práctica anterior.
Si ha seleccionado el robot RV-2A sobre el eje lineal, le aparecerá una ventana con la información
de la posición. Dé doble clic en la línea que tiene la posición que acaba de guardar. Aparecerá una
ventana como la que se muestra:
desarrollar.
28. Coloque la pinza del robot en una posición bastante alta y asígnele un nombre que tenga significado
para el proceso que está por desarrollar, puede ser P1.
29. Posiciónese en la ventana que muestra las posiciones, y presione el botón guardar en la barra de
herramientas superior. Si usted recién acaba de crear el proyecto, usted guardará el archivo que ya
existe y que lo creó el sistema al inicializar el proyecto. Si usted no está trabajando con un proyecto
recién creado se le pedirá un nombre para el listado de posiciones que ha generado y un tipo de
archivo, asigne el mismo nombre que usted dio en para el programa en el inicio de la definición del
proyecto, y escoja como tipo de archivo un tipo POS.
LOS NOMBRES DEL ARCHIVO DE POSICIONES Y DEL ARCHIVO DEL PROGRAMA
DEBEN SER IGUALES, SU ÚNICA DIFERENCIA DEBE SER LA EXTENSIÓN (.POS, .MB4).
DE LO CONTRARIO AL MOMENTO DE COMPILAR EL PROYECTO NO SE TOMARÁN
COMO INFORMACIÓN COMPLEMENTARIA.
30. Con las posiciones guardadas, podemos proceder ahora a desarrollar el primer programa de
secuencias de movimiento del robot.
Para iniciar cualquier programa es necesario antes que nada estar en el CIROS Robotics dentro de
un Proyecto.
31. Para abrir un listado de posiciones es necesario ir a: File → Open y en el cuadro de diálogo poner el
tipo de archivo y escoger el listado de posiciones que ya se ha
configurado.
32. Para iniciar un programa es necesario ir a: File → New → File y escoger en el tipo de ventana a
abrir la opción que se muestra:
Figura 18. Apertura de una nueva ventana del tipo programa Melfa Basic IV.
Con lo anterior se abrirá la ventana para la edición de programas.
33. El primer programa consistirá en realizar un programa para que el brazo industrial recoja una pieza
en un punto de recogida y la deposite en otro punto. Las aproximaciones a estos dos puntos debe
hacerse suavemente (más despacio).
Propiedad de la Universidad Don Bosco Prohibida su reproducción total o parcial para otros fines 2016
Fundamentos de Robótica. Guía 6 17
34. Primero hay que definir las posiciones clave del movimiento, que en este caso serán cinco:
-P1 : posición inicial o de reposo
-P2 : posición de aproximación a la zona de carga
-P3 : posición para coger la pieza
-P4 : posición de aproximación a la zona de descarga
-P5 : posición donde dejamos la pieza
35. Para definir las posiciones se utilizará la opción 'Jog Operation' que se mencionó en el paso 15.
36. Para insertar las posiciones se sitúa el brazo en la posición deseada y se guarda con el botón
'Current Position > Pos. List'. El programa crea una nueva posición en el listado de posiciones y le
pone el nombre Px, donde x es el número de posición que aparece en la ventana anterior. Desde el
listado de posiciones podemos cambiar las propiedades de las posiciones. Si ha colocado el eje
líneal puede usar una posición de 300 mm constante para todas. En el caso del RV-3SB la
orientación C será de 0 en todas las posiciones.
Propiedad de la Universidad Don Bosco Prohibida su reproducción total o parcial para otros fines 2016
Fundamentos de Robótica. Guía 6 20
Figura 26. Activación del botón para colocar el proyecto activo en la ventana de gestión del
proyecto.
44. En este momento el programa puede ser ya corrido presionando el icono que se muestra en la figura
al lado, dicho icono se encuentra en las barras superiores en la pantalla.
Figura 27. Arranque de la ejecución del programa por medio del botón Start (F5).
MOV P9, -50...... Movimiento no interpolado hasta una posición 50mm encima de la posición P9.
B) Utilizar una posición de offset, definiéndola al inicio del programa y utilizándola sumada a P3 y
P5:
46. Realice los cambios en el programa por los dos métodos y ejecute la simulación.
Propiedad de la Universidad Don Bosco Prohibida su reproducción total o parcial para otros fines 2016
Fundamentos de Robótica. Guía 6 21
Propiedad de la Universidad Don Bosco Prohibida su reproducción total o parcial para otros fines 2016
Fundamentos de Robótica. Guía 6 22
48. Modificar el programa para que realice 3 vueltas seguidas en vez de dos. Utilizar la instrucción
CNT para que haga un movimiento continuo y no se pare entre vuelta y vuelta (en realidad no para
del todo pero el sonido en el robot real cambia).
49. Realizar un arco y/o circunferencia con centro definido, utilizando la instrucción MVR3.
La posición del centro será como la posición de recogida, pero 100mm más baja.
Propiedad de la Universidad Don Bosco Prohibida su reproducción total o parcial para otros fines 2016
Fundamentos de Robótica. Guía 6 23
50. Realice el cambio en el programa para añadir el movimiento circular MVR3 y ejecute la
simulación.
51. Salga del programa y apague la computadora.
Análisis de resultado
1. Presente el programa modificado que realizó en la parte II del procedimiento.
2. Presente el programa modificado que realizó para el numeral 48 y el 49 en la parte III del
procedimiento.
3. Realice un programa que intercambie de posición dos objetos, el programa tendrá una posición de
Home, una posición intermedia para colocar temporalmente al primer objeto que se mueve y dos
posiciones para cada uno de los objetos a mover.
Investigación Complementaria
1. Investigue las instrucciones del lenguaje Melfa Basic IV para el control de las entradas y salidas
digitales del robot Mitsubishi.
Bibliografía
Propiedad de la Universidad Don Bosco Prohibida su reproducción total o parcial para otros fines 2016
Fundamentos de Robótica. Guía 6 24
Hoja de cotejo: 6
EVALUACION
TOTAL 100%
Propiedad de la Universidad Don Bosco Prohibida su reproducción total o parcial para otros fines 2016