Professional Documents
Culture Documents
TUTORIAL COSIMIR-đã chuyển đổi
TUTORIAL COSIMIR-đã chuyển đổi
Program start:
When starting the COSIMIR program we will see this window that we will
close by clicking OK.
(Khi chương trình cosimir bắt đầu , cửa sổ này sẽ xuất hiện và chúng tôi
sẽ đóng bằng cách nhấp vào OK.)
Next we will see the following window, which we will close before starting the program.
(Tiếp theo chúng ta sẽ thấy
cửa sổ tiếp theo, chúng tôi sẽ đóng
trước khi bắt đầu chương trình.)
The next step is to create a new project with the project assistant (Project Wizard):
Bước tiếp theo là tạo một dự án mới với trợ lý dự án (Project Thuật sĩ):
Display options:
The 3 push buttons located inside the red ellipse, serve to:
- move / frame the robot image in the viewing window,
- - rotate / rotate the robot image in the viewing window,
- Zoom
Tùy chọn hiển thị:
3 nút ấn nằm bên trong hình elip màu đỏ, phục vụ cho:
- di chuyển / đóng khung hình ảnh robot trong cửa sổ xem,
- - xoay / xoay hình ảnh robot trong cửa sổ xem,
- Thu phóng
In the pop-up window that appears, we will select one of the options:
- XYZ Jog (position the hand)
- JOINT Jog (position articulations)
- TOOL Jog (position the tool)
Trong cửa sổ bật lên xuất hiện, chúng tôi sẽ chọn một
trong các tùy chọn:
Through this window we can also adjust the movement speed with the Jog Override option
and open / close the hand with the Open / Close Hand option
Thông qua cửa sổ này, chúng ta cũng có thể điều chỉnh tốc độ di chuyển với tùy chọn Ghi đè
Chạy bộ và mở / đóng tay bằng tùy chọn Mở / Đóng tay
After having finished entering a series of robot positions, we will execute the programming
assistant to write the program lines. To carry out this action we will proceed as follows:
Sau khi hoàn thành việc nhập một loạt các vị trí robot, chúng tôi sẽ thực
hiện trợ lý lập trình để viết các dòng chương trình. Để thực hiện hành
động này, chúng tôi sẽ tiến hành như sau:
1- We will place the mouse pointer in the work
window 3 and we will click (in this way we
activate the options available for window 3).
So, if we have these instructions: ... ... ... we modify them by these:
Vì vậy, nếu chúng tôi có các hướng dẫn sau: ... ... ... chúng tôi sửa đổi
chúng bằng cách:
2nd. We compile (Compile + Link Push)
3º. We execute the sequence (Start button)
2.- We can also eliminate the connection by placing the mouse pointer over Objects /
RV-2AJ / Outputs / HCLOSE1 and clicking with the right mouse button. In the drop-
down menu that appears we select the option Remove connection. We see how the
information on the object to which it is connected to the output HCLOSE1 of object
RV-2AJ disappears in the part on the right of the window.
Once the connection is eliminated (following steps 1 or 2), we can check that it is not
possible to open / close the clamp: Extras> Teach-In> Close / Open Hand We will have
to deactivate Model Explorer so that the Teach- In.
Now we will change the position of the gripper located in the base to avoid
collisions. We will move it, for example, 100 units down.
Introducción a la programación:
Partiendo el robot de una posición inicial dada P1 (355,0,550) cogerá una caja de
medidas 50x50x50, situada en el punto P2 (300,100,0), esperará 1s y volverá a la
posición inicial P1 donde esperará 3 segundos, soltará la caja en el punto P3 (100,-
200,0) y esperará 1 s, pasará por el punto inicial P1 donde esperará 3 segundos, volverá
al punto P3 para coger nuevamente la caja (esperará 1 s.), pasará por el punto P1 donde
esperará 3 segundos, irá al punto P2 para soltar la caja y esperar 1 s, volverá al punto P1
donde esperará 3s y finalizará el ciclo. Cuando el robot lleve la caja, su velocidad será
del 10% y cuando no la lleve su velocidad será del 100%
Paso2:
Paso3:
Paso4:
Paso5:
Editamos el programa
cumpliendo las condiciones que
nos marca el enunciado del
ejercicio.
Paso7:
Al finalizar la edición
renombramos para que las líneas
de programa sean correlativas.
Para ello clicamos en la ventana
2 y ejecutamos la instrucción
Edit>Renumber.
Al realizar esta conexión, si el sensor está detectando la pieza roja, se encienden los dos
LED.
Como en este caso solo detectaremos caja roja, solo utilizaremos la salida out_red del
sensor. Esta salida la conectaremos con una Input del robot, que habilitaremos para
recibir esta señal en concreto.
Clicando en I/O Connections (en el Model Explorer) podemos ver las conexiones
realizadas por el momento.
Ahora colocamos un sensor de color en la posición (425,-250,15) Roll 180º y Pitch 90º;
y conectamos la salida out_red a una nueva entrada que habilitaremos en el robot, por
ejemplo lo conectamos a la entrada 000.
Entramos los puntos:
- Ejecutamos el programa
Este otro programa hace lo mismo que el anterior, pero en esta ocasión hemos utilizado
dos bucles FOR NEXT anidados.
Existe una función especialmente diseñada para realizar lo que acabamos de hacer en
los dos ejercicios anteriores. Se trata de la función DEF PLT (define pallet).
A continuación introduciremos algunas instrucciones adicionales que nos
permitirán definir un poco más el movimiento.
ACLARACIÓN:
Una salida (output) puede conectarse a tantas entradas (inputs) como queramos, pero
una entrada solamente puede estar conectada a una salida.
Trabajo con varios robots: (ejemplo con 3 robots)
Ahora vemos que en la parte izquierda de la ventana Project Management nos aparecen
un total de tres proyectos (uno por cada robot): celda robotica, celda robotica_1 y celda
robotica_2.
Cuando en el desplegable seleccionamos el robot RV-2AJ_2, el proyecto celda
robotica_2 aparece en negrita.
Cuando en el desplegable seleccionamos el robot RV-2AJ_1, el proyecto celda
robotica_1 aparece en negrita.
Cuando en el desplegable seleccionamos el robot RV-2AJ el proyecto celda robotica no
aparece en negrita, lo que significa que tenemos que vincular este robot con su proyecto.
Para ello seleccionamos en el desplegable el robot RV-2AJ, clicamos en el proyecto
celda robotica, y a continuación clicamos en el pulsador que tiene el dibujo de un
martillo (Set as Active Project). ¿Asignar proyecto al robot activo RV-2AJ? ACEPTAR
¿Compilar el Proyecto ahora? NO
Clicando primero en celda
robótica y después en Files,
vemos el archivo de
posiciones (.POS) y el
archivo de programa (.MB4)
asociados al proyecto celda
robotica.
Clicando en proyecto
robótica_1 y después en
Files, vemos que no tiene
archivos asociados.
Lo mismo sucede con el
proyecto robótica_2.
Para crear los archivos donde guardaremos la lista de posiciones y el programa del robot
RV-2AJ_1 haremos lo siguiente:
- clicamos primero en celda robótica_1 y después en Files,
- clicamos con el botón derecho del ratón encima de la barra azul (situada donde
deberían estar los archivos asociados),
- clicamos en Add Files,
- en Tipo seleccionamos (*.MB4).
- En la ventana que nos aparece, copiamos el archivo
celda robótica y lo pegamos en la misma ventana.
Renombramos el archivo Copia de celda robotica
como celda robotica_1. Ahora clicamos encima del
nuevo archivo de forma que en el campo Nombre
aparezca celda robotica_1, y una vez hecho esto
clicamos en Abrir.
Repetimos el proceso para generar los archivos asociados al proyecto celda robotica_2,
copiando y renombrando los archivos como celda robotica_2.
No olvidar poner Main Program en el apartado Compile Mode.
Una vez generados los archivos asociados, los abriremos para tenerlos visibles en el
escritorio.
Redimensionamos las
cuatro nuevas ventanas que
se nos han abierto de forma
que el escritorio nos quede
como el de la imagen.
Ahora vamos a hacer la lista de posiciones de cada robot:
- Abrimos el Project
Management (Execute>Project Management)
- En el desplegable seleccionamos el robot RV-2AJ
- Con el botón derecho del ratón clicamos en el
proyecto celda robotica.
- En el desplegable que nos aparece clicamos la
opción compile celda robotica-Project y
comprobamos que no hay errores.
Repetimos la operación para los tres robots con sus respectivos proyectos.
- Caja Box:
Medidas (100, 200, 200) - Color: azul.
Esta caja será una mesa donde dejaremos las
piezas que están actualmente en el interior de
los alimentadores.
Una vez definidos los Gripper Points, los renombraremos. Clicamos con el botón
derecho encima de Gripper_1 y en el desplegable que aparece seleccionamos Rename.
Los renombraremos como Mesa_1, Mesa_2, Mesa_3, Mesa_4, Mesa_5,… y Mesa_8.
Antes de colocar las bandejas en el interior de Feeder1 y Feeder1_1, vamos a hacer dos
modificaciones a las bandejas:
- vamos a definir un Grip Point en la base de cada bandeja (para que la bandeja se
pueda fijar al Feeder),
- vamos a definir una conveyor surface en la superficie superior (para que luego la
bandeja pueda coger piezas),
Colocación bandeja1:
Clicamos en Objects>Box_1>Base>Grip Points. En la ventana de la derecha clicamos
encima de Bandeja1 con el botón derecho del ratón, y en el desplegable que aparece
seleccionamos Properties. En la pestaña “General”, en el apartado “Initialization -
Gripped by” seleccionamos M1Top1.
Vemos como la Bandeja1 se nos ha situado en el Feeder1.
Repetimos la operación para todas las bandejas seleccionando los siguientes Gripper
Points para cada bandeja:
Bandeja1: M1Top1 Bandeja2: M1Top2 Bandeja3: M1Top3 Bandeja4: M1Top4
Bandeja5:M1Top1_1;Bandeja6:M1Top2_1;Bandeja7:M1Top3_1;Bandeja8:M1Top4_1
Robot RV-2AJ:
Para que no haya colisiones deberemos hacer que los dos robots trabajen
sincronizadamente, es decir, que uno no empiece a actuar hasta que el otro haya
finalizado su parte del trabajo y viceversa.
Para conseguirlo habilitaremos una nueva entrada y salida en cada robot (p.e. i/o 10) y
las conectaremos como sigue:
Robot RV-2AJ:
Robot RV-2AJ_1:
Una vez hecho esto los programas de ambos robots quedarían de la siguiente forma,
(para llenar y mover la primera bandeja):
Una vez finalizada la ejecución del programa debemos clicar 2 veces en
Edit>ResetWorkcell para que se nos resetee correctamente el alimentador de bandejas.
Y por último haremos las modificaciones necesarias en el programa para que se repita el
ciclo para el resto de bandejas.
Podemos variar el número de discos que se alojan en cada bandeja modificando las
variables “L” y “A” en las líneas 170 y 180 del programa del robot RV-2AJ.
Así pues haciendo L=2, compilando y ejecutando nuevamente el programa, veremos
como se nos apilan bandejas de 2x2 discos.
Modelización de un cilindro empujador:
Desplegando el Model Explorer y clicando encima de cada objeto con el botón derecho
del ratón, situaremos los diferentes objetos en las siguientes posiciones:
Conexiones:
Robot RV-2AJ:
Output Conectada con Input de Objeto
(0) PiezaOn NextPart Feeder1
(0) PiezaOn NextPart Feeder1_1
PushCylinder:
Input Conectada con Output de Objeto
PushForward (1) PusherOn robot RV-2AJ
Desplegando el Model Explorer y clicando encima de cada objeto con el botón derecho
del ratón, situaremos los diferentes objetos en las siguientes posiciones y con las
siguientes medidas:
- Caja Box : posición (-200,200,0) - Medidas (200, 100, 200) - Color: azul.
- Caja Box_1: posición (200,-400,0) - Medidas (400, 400, 200) - Color: azul.
- Alimentador Feeder1: posición (500,-150,200).
- Alimentador Feeder1_1: posición (500,-150,320).
- Push Cylinder: posición (500,-200,200) (Roll 90, Pitch 0, Yaw 0).
- Turning Mover: posición (430,-30,200) (Roll 90, Pitch 0, Yaw 0).
Conexiones:
Robot RV-2AJ:
Input Conectada con Output de Objeto
(0) EnPosicionA AtPositionA TurningMover
(1) EnPosicionB AtPositionB TurningMover
(2) PiezaDisponible PartAvailable Feeder1
(3) MaximaExtesion MaxReached PushCylinder
Dimensionado:
La mesa giratoria consta de dos partes:
- Base (pie cilíndrico)
- MoveSegment (Tablero circular)
- Upper axis limit: marca el punto de inicio de giro (en principio pondremos siempre 0)
- Lower axis limit: indica el ángulo de giro (siempre en negativo: -30, -45, -90,…).
- Max. Axis speed: indica la velocidad y el sentido de giro (+ ó -)
- Box (base del robot): Posición: (-175,-120,0) Medidas: (270, 240, 8) Color: Gris
En el elemento base del sensor, poner a cero(0.01) las dimensiones de los elementos
Box1, Box3 y Box4. Redimensionar Box2: (Length X: 25, Length Y: 40, Z: 20).
Cilindro posicionador: C1- Medidas: radio 20, altura 21 Color: Gris claro
Posición (World): (180, 155, 0)
Cilindro orientador: C2- Medidas: radio 1.50, altura 52 Color: Azul oscuro
Posición (World): (180, 170, 0)
En el elemento base del sensor, poner a cero las dimensiones de los elementos Box1,
Box3 y Box4. (Box2: Length X: 40, Length Y: 40, Length Z: 20).
El robot orientará cualquier tapón (rojo, negro, metálico) que tenga enroscada tapa azul,
ya que la función de la base orientadora de tapones es desenroscar la tapa azul.
Para ello deberemos simular (en los tapones) los tres agujeros existentes en ellos y la
tapa azul. A continuación se detallan los pasos a seguir en el disco M1Disc1, aunque
cuando ejecutemos el programa podremos realizar esta simulación (tapón con tapa azul
y tres agujeros) en cualquiera de los discos del alimentador, pero solo en uno (ya que en
la base real de desenroscado que estamos simulando solo cabe un tapón).
En el sensor de color_1 hay que definirle el azul elegido, sino no detectará la “tapa”.
2 Parts Feeder 2 (Depósito vertical de tapones):
Colocar Mesa (Box_6) para sacar los discos del interior de los alimentadores, para lo
cual definiremos 8 gripper points en ella (Box6>Base>New>Gripper Point) que
renombraremos como Mesa_1, Mesa_2,…, Mesa_8:
Box_6: Posición: (-100, 200, 0) Medidas: (100, 200, 100) Color: Marrón
Una vez definidos los 8 gripper points, vamos a cada uno de los grip points de los 8
discos (4 M2Discs + 4 M2Discs_1) y les asignamos los 8 gripper points definidos
anteriormente en la mesa Box 6.
Si repetimos esta operación (además de con el disco M1Disc2) con los discos
M1Disc2_3 y M1Disc3_4, estaremos simulando un total de 3 tapones metálicos.
Conexiones:
Robot RV-2AJ:
Output Conectada con Input de Objeto
(0) PiezaOn NextPart Feeder1
(0) PiezaOn NextPart Feeder1_1
(0) PiezaOn NextPart Feeder1_2
(0) PiezaOn NextPart Feeder1_3
(0) PiezaOn NextPart Feeder1_4
PushCylinder:
Input Conectada con Output de Objeto
PushForward PartAvailable Feeder1
Lista de posiciones:
Programa:
Con este programa el robot hace lo siguiente: