Sunteți pe pagina 1din 24

Fundamentos de Robótica.

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.

Tema: Programación del Robot Mitsubishi. Parte I.


Tiempo de ejecución: 2 horas.

Objetivo General

Programar de forma básica un robot industrial del laboratorio.

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

1. Estructura de la programación en CIROS Robotics.

Estructura del proyecto


Todo proyecto generado con el software de programación CIROS Robotics consta de diferentes
archivos que conforman el proyecto.
• El archivo *.PRJ es el archivo que guarda nuestra configuración del proyecto y asocia a este el
listado de posiciones, así como el programa. (Este archivo no se deberá cargar en el robot).
• El archivo *.POS es el listado de posiciones del proyecto estas posiciones podrán ser modificadas
más tarde con la consola si se desea. (Es recomendable que el listado de posiciones como el
programa se carguen en el robot con el mismo nombre de archivo).
• El archivo *.MB4 es el archivo que contiene la programación de la secuencia que se desea que
ejecute el robot que en este caso se ha generado en el lenguaje MELFA BASIC 4. (Este archivo
junto con el listado de posiciones son los que se tienen que descargar al robot para ejecutar la
secuencia).

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

Estructura del programa


Como cualquier tipo de programa, el programa de la secuencia de un brazo robot mantiene una
estructura determinada que ayuda a la comprensión de este.
El programa debe de tener una estructura determinada. Lo primero que habrá en el programa es una
zona de declaración de las diferentes variables. Seguido se colocará el programa principal que acaba
con la instrucción END después del programa principal se colocan las diferentes subrutina a las que se
hayan llamado que finalizan con la instrucción RETURN.

TOMAR Comentarios

Definición de posiciones

Definición de I/O

Definición de variables

Número de línea 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 3

Programa principal
Etiqueta

Llamada a Subrutina

Salto a línea

Inicio

Subrutina

Final

Figura 1. Estructura de los programa en el lenguaje Melfa Basic IV.

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.

• POSICIÓN: Coordenadas ortogonales de la posición. El nombre de la variable empieza por P.


• ANGULOS DE EJE: Ángulos de las articulaciones. El nombre de la variable empieza con J.
• ARITMÉTICA: Valor numérico (entero, real,..). El nombre empieza por M.
• CARÁCTER: Cadenas de letras. El nombre de la variable termina en $.

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.

Figura 3. Tipo de movimiento no interpolado (MOV) en el lenguaje Melfa Basic IV.

• 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

MOV P1............. Se mueve a P1.


MOV P1+P2....... Se mueve a la posición resultante de sumar las coordenadas de P1 y P2.
MOV P1*P2....... Se mueve a la posición relativa convertida de P1 a P2.
MOV P1, -50...... Se mueve desde P1 hasta una posición a 50mm en la dirección de la pinza.
MOV P1 WTHM_OUT(7)=1… Empieza el movimiento hacia P1, y simultáneamente enciende la
salida 7.
MOV P1 WTHIFM_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.

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.

Movimiento lineal Interpolado


El Robot describe una línea recta entre los puntos origen y destino.
Es un movimiento lento para el robot y solo se emplea en movimientos críticos cuando el robot se
encuentra cerca de completar su trabajo (agarrar pieza, dejar pieza, soldar un punto, aplicar adhesivo).

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.

Ejemplo de llamada de instrucción:


HOPEN 1........... Abre la pinza 1
HCLOSE 1......... Cierra la pinza 1

• 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.

Ejemplo de llamada de instrucción:


OVRD 60............Fija la velocidad de todos los movimientos al 60% de la velocidad máxima.

• SPD
Define la velocidad de interpolación linear y circular(para instrucciones MVS, MVR y MVC) de la
pinza en mm/s.

Ejemplo de llamada de instrucción:


SPD 30.............. Configura la velocidad de los movimientos lineales y circulares en 30mm/s.

• DLY
Espera los segundos indicados (el mínimo es 0.05), y luego sigue con el programa.

Ejemplo de llamada de instrucción:


DLY 3.................Espera 3 segundos antes de seguir.

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.

Ejemplos de llamadas de instrucción:


MVR P1, P2, P3...............Se mueve con una interpolación circular entre P1P2P3.
MVR P1, P2, P3 WTH M_OUT(7)=1.........Interpolación circular entre P1P2P3, y el bit 7 se activa.
MVR P1, P2, P3 WTHIF M_IN(9)=1, SKIP................Si el bit 9 se activa durante el movimiento, se
para y sigue en el siguiente paso.
MVR P1, P2, P3 TYPE 0, 1.............Se mueve con una interpolación circular entre P1P2P3.
MVR2 P1, P2, P3............. Interpolación circular de P1 a P2, sin pasar por P3.
MVR3 P1, P3, P4.............Se mueve con una interpolación circular de P1 a P3 por el camino más corto.
El punto P4 es el centro.
MVC P6, P8, P9............... Movimiento circular P6P8P9P6.

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.

Ejemplos de llamadas de instrucción:


CNT 1.................Define el inicio del movimiento continuo.
CNT 1, 100, 200...............Define el inicio del movimiento continuo, la distancia de separación con el
punto inicial, y la distancia de separación con el punto final.
CNT 0.................Define el final del 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.

Ejemplos de llamadas de instrucción:


ACCEL.................Configura la aceleración y la desaceleración al 100%.
ACCEL 60, 80.......Configura la aceleración al 60% y la desaceleración al 80%.

• JOVDR
Define la velocidad de movimiento angular axial (para instrucciones MOV), como un porcentaje de la
máxima.

Ejemplo de llamada de instrucción:


JOVRD 70...........Configura la velocidad del movimiento angular de cada eje al 70% de la máxima.

• HLT
Para la ejecución del programa y entra en el estado de paro.

Ejemplos de llamadas de instrucción:


HLT.....................Para la ejecución del programa.
IF M_IN(8)=1 THEN HLT................Para la ejecución del programa cuando se activa la señal de
entrada M_IN(8).
MOV P3 WTHIF M_IN(9)=1, HLT................Para la ejecución del programa si la señal de entrada
M_IN(9) se activa durante el movimiento a P3.

• FINE
Define las condiciones de posicionamiento final con un número de pulsos.

Ejemplo de llamada de instrucción:


FINE 100............Configura las condiciones de posicionamiento final a 100 pulsos.
Propiedad de la Universidad Don Bosco Prohibida su reproducción total o parcial para otros fines 2016
Fundamentos de Robótica. Guía 6 9

• TOOL
Configura la forma de la herramienta que usamos, y configura el punto de control.

Ejemplo de llamada de instrucción:


TOOL P60.......... Define la forma guardada en P60.

4. Programación de trayectorias (Metodología Ford)


Cuando se programan trayectorias generalmente ubicamos las siguientes posiciones:
• Posición de HOME: Generalmente es la posición de privilegio en donde el efector final (Pinza en
este caso) tiene acceso a las demás posiciones asegurándonos de que no existan colisiones en el
entorno.
• Posición de Acercamiento: Se ubica a poca distancia del objeto y a partir de esa posición se
programan movimientos suaves y finos para llegar a la posición de agarre.
• Posición de Agarre: es la coordenada en donde se ubica el objeto para su sujeción o agarre para
manipularlo, trasladarlo, etc.

Materiales y equipos

1 Computadora personal o portátil con Windows.


1 Software CIROS Robotics

Procedimiento

Parte I. Definición de posiciones en CIROS Robotics.

1. Ejecute el programa de simulación CIROS Robotics, de clic en la línea sombreada en la siguiente


figura.

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

Figura 9. Menú File del programa CIROS Robotics.

Un proyecto en este software significa todo el conjunto de situaciones particulares acerca de la


simulación que se va a correr.
Se abrirá una serie de ventanas que recopilará esta información.
3. La primera ventana recopila información acerca del nombre del proyecto. Proporcione el nombre
que considere conveniente, en Program Name escriba una secuencia corta de letras mayúsculas y
números. Recuerde bien el nombre del programa, es el nombre que llevará el programa principal del
proyecto que usted desarrollará, y en el momento de crear su programa principal deberá tomar el
nombre y ubicación que ha dado en esta etapa de la definición del proyecto.

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 10. Ventana del Asistente del proyecto de CIROS Robotics.


4. La ventana siguiente pedirá información acerca del robot.
Si desea trabajar con los modelos del iCIM escoja cualquiera de los siguientes, con las
especificaciones que se muestran.

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 13. Menú de programación (derecha) y ventana de la operación manual (izquierda) de


CIROS Robotics.
16. En este momento usted tiene el control del robot. Con los botones al lado de los nombres de las
articulaciones puede mover el robot dentro de la ventana gráfica intente todos los movimientos y
compruebe los alcances de cada una de las articulaciones. También puede variar la velocidad de los
movimientos del robot utilizando el control

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:

Figura 17. Propiedades de la posición absoluta P1.


27. En Position Name puede poner el nombre que desea dar a la ventana (puede colocar aquí la palabra
“piso” si lo desea, o cualquier otra palabra que le indique algo para el procedimiento que se propone
Propiedad de la Universidad Don Bosco Prohibida su reproducción total o parcial para otros fines 2016
Fundamentos de Robótica. Guía 6 16

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

Figura 19. Espacio de trabajo y posiciones del primer programa de ejemplo.

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.

Figura 20. Listado de las posiciones del primer programa de ejemplo.


37. Una vez se tienen las posiciones definidas, empezar a programar; para este ejercicio se utilizarán las
siguientes instrucciones:
- MOV > Realiza un movimiento suave, moviendo los ejes punto a punto.
- OVRD > Porcentaje de la velocidad máxima.
Propiedad de la Universidad Don Bosco Prohibida su reproducción total o parcial para otros fines 2016
Fundamentos de Robótica. Guía 6 18

- HOPEN > Abre la pinza.


- HCLOSE > Cierra la pinza.
- DLY > Espera los segundos indicados.

10 '*****************UNIVERSIDAD DON BOSCO******************


20 '* FUNDAMENTOS DE ROBÓTICA *
30 '* *
40 '* PRÁCTICA - 6 *
50 '* INSTRUCCIONES BÁSICAS *
60 '* PARTE 1 *
70 '* Fecha: *
80 '* Comentarios: *
90 '* *
100 '*********************************************************
110 HOPEN 1 ' Abrir Pinza
120 MOV P1 ' Movimiento no interpolado a la posición 1
130 OVRD 90 ' Velocidad al 90%
140 MOV P2 ' Movimiento no interpolado a la posición 2
150 OVRD 30 ' Velocidad al 30%
160 MOV P3 ' Movimiento no interpolado a la posición 3
170 HCLOSE 1 ' Cierra pinza
180 DLY 0.5 ' Espera de 0.5 segundos
190 MOV P2 ' Movimiento no interpolado a la posición 2
200 OVRD 90 ' Velocidad 90%
210 MOV P4 ' Movimiento no interpolado a la posición 4
220 OVRD 30 ' Velocidad al 30%
230 MOV P5 ' Movimiento no interpolado a la posición 5
240 HOPEN 1 ' Abre pinza
250 MOV P4 ' Movimiento no interpolado a la posición 4
260 OVRD 90 ' Velocidad 90%
270 MOV P1 ' Movimiento no interpolado a la posición 1
280 DLY 3 ' Espera de 3 segundos
290 END ' Fin del programa
Figura 21. Código del programa en el lenguaje Melfa Basic IV.
38. Después de introducir el programa, se deben numerar las filas con la opción 'Renumber'.
39. Guardar el programa e incorporarlo al proyecto que se está desarrollando.
Ubique el cursor en la ventana de programa y de clic en save:

Figura 22. Opción Save del Menú File de CIROS Robotics.


Se le abrirá un cuadro de diálogo que preguntará la ubicación del archivo con extensión .MB4
Propiedad de la Universidad Don Bosco Prohibida su reproducción total o parcial para otros fines 2016
Fundamentos de Robótica. Guía 6 19

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.
40. Para compilarlo escoja la secuencia:

Figura 23. Opción Compile+Link del Menú Programming de CIROS Robotics.


41. Y luego si emerge la ventana, escoja Add:

Figura 24. Menú de gestión del proyecto para CIROS Robotics.


42. Una vez que el programa está guardado puede correrse antes que nada escogiendo el proyecto actual
como el proyecto activo.
En el menú Programming se escoge la opción Project Management.

Figura 25. Opción Project Management... del menú Programming.


43. Con lo anterior se abre la una ventana llamada Project Management, y dentro de la ventana, en la
pestaña Project se presiona el botón que se indica en el dibujo, el cual genera el texto de ayuda “Set
as Active Project”

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).

Parte II. Ampliación del programa.


45. Eliminar las posiciones de aproximación P2 y P4.
A) Utilizar la instrucción ampliada de MOV que permite mover hasta una distancia determinada,
por encima de una posición (en la dirección del eje Z de la herramienta).

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:

DEF POS OFFSET


OFFSET = (0, 0, +50, 0, 0, 0)

MOV P9 + OFFSET

46. Realice los cambios en el programa por los dos métodos y ejecute la simulación.

Parte III. Movimientos circulares


47. Realizar un programa para que el brazo industrial recoja un objeto de un soporte elevado y luego
realice dos círculos antes de volver a dejarlo.

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

Figura 28. Espacio de trabajo y posiciones del segundo programa de ejemplo.


Las posiciones necesarias serán:
-P1 : posición inicial o de reposo
-P2 : posición de recogida
-P3 : posición de inicio del circulo
-P4 : posición de tránsito 1
-P5 : posición de tránsito 2

Figura 29. Listado de las posiciones del segundo programa de ejemplo.

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

10 '*****************UNIVERSIDAD DON BOSCO******************


20 '* FUNDAMENTOS DE ROBÓTICA *
30 '* *
40 '* PRÁCTICA - 6 *
50 '* MOVIMIENTOS CIRCULARES *
60 '* PARTE 3 *
70 '* Fecha: *
80 '* Comentarios: *
90 '* *
100 '*********************************************************
110 HOPEN 1 ' Abrir Pinza
120 OVRD 70 ' Velocidad al 70%
130 MOV P1 ' Movimiento no interpolado a la posición P1
140 DLY 3 ' Espera de 3 segundos
150 MOV P2, -80 ' Movimiento no interpolado a una posición alejada 80mm de la posición P2
160 OVRD 30 ' Velocidad al 30%
170 MVS P2 ' Movimiento recto interpolado a la posición P2
180 HCLOSE 1 ' Cierra pinza
190 DLY 0.5 ' Espera de 0,5 segundos
200 MVS P2, -50 ' Movimiento recto interpolado a una posición alejada 50mm de la posición P2
210 OVRD 70 ' Velocidad al 70%
220 SPD 100 ' Velocidad de movimientos interpolados 100 mm/s
230 MOV P3, -150 ' Movimiento no interpolado a una posición alejada 150mm de la posición P3
240 MOV P3 ' Movimiento no interpolado a la posición P3
250 MVC P3, P4, P5 ' Movimiento circular
260 MVC P3, P4, P5 ' Movimiento circular
270 MOV P3, -150 ' Movimiento no interpolado a una posición alejada 150mm de la posición P3
280 MVS P2, -80 ' Movimiento recto interpolado a una posición alejada 80mm de la posición P2
290 OVRD 30 ' Velocidad al 30%
300 MVS P2 ' Movimiento recto interpolado a la posición P2
310 HOPEN 1 ' Abrir Pinza
320 DLY 0.5 ' Espera de 0,5 segundos
330 MVS P2, -50 ' Movimiento recto interpolado a una posición alejada 50mm de la posición P2
340 OVRD 70 ' Velocidad al 70%
350 MOV P1 ' Movimiento no interpolado a la posición P1
360 END ' Fin del programa
Figura 30. Código del programa en el lenguaje Melfa Basic IV.

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).

CNT 1, 100, 100


...
CNT 0

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

MVR3 P_inicial, P_final, P_centro

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

 Manual de Instrucciones de COSIROP para el lenguaje MELFA BASIC IV.


FESTO Didactic.
Autor: Juan Olea Pastor.
Designación: Manual de Prácticas para el brazo robot RV-2AJ.
Marzo de 2005.
 PROGRAMACIÓN DE ROBOTS. Guía del estudiante.
Universidad Don Bosco
Versión 4. 16 de septiembre de 2011.

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

Guía 6: Programación del Robot Mitsubishi. Parte I.

Estudiante: Estación No:

Docente: GL: Fecha:

EVALUACION

% 1-4 5-7 8-10 Nota

CONOCIMIENTO 25% Conocimiento Conocimiento y Conocimiento


deficiente de los explicación completo y
fundamentos incompleta de explicación clara
teóricos de la los fundamentos de los
programación de teóricos. fundamentos
robots Mitsubishi teóricos de la
usando el lenguaje programación de
Melfa Basic IV. robots Mitsubishi.

APLICACIÓN DEL 20% No ejecutó el Necesitó la ayuda Ejecutó el programa


CONOCIMIENTO programa de la parte del docente de de la parte I de la
I de la guía de laboratorio guía de laboratorio.
laboratorio.
Realizó por sí
25% No realizó la parte II Necesitó la ayuda mismo la parte II de
de la guía de del docente de la guía de
laboratorio. laboratorio laboratorio.

No realizó la parte Necesitó la ayuda Realizó por sí


25%
III de la guía de del docente de mismo la parte III de
laboratorio. laboratorio la guía de lab.

ACTITUD 3% No tiene Participa Tiene actitud


actitud ocasionalmente o lo proactiva y
proactiva. hace constantemente sus propuestas
pero sin coordinarse son concretas y
con su compañero. factibles.

2% No es ordenado ni Solo es ordenado o Es ordenado y


responsable en el uso del solo responsable con responsable en el uso
equipo el uso del equipo del equipo

TOTAL 100%

Propiedad de la Universidad Don Bosco Prohibida su reproducción total o parcial para otros fines 2016

S-ar putea să vă placă și