Está en la página 1de 19

Machine Translated by Google

4 Blockly: desarrollo de una matriz cúbica


NOMBRE: __________________________ Fecha: _____________ Sección: ___________

INTRODUCCIÓN
Las matrices vienen en muchos tamaños diferentes
en toda la industria y se pueden usar en otras áreas además
de la robótica. Muchas empresas utilizarán matrices para
almacenar productos y materiales de manera eficiente, por
lo que es importante que sepa cómo funcionan y cómo
programar una usted mismo. Es especialmente útil para las
rutinas de paletizado cuando se colocan cajas en un palet
de manera eficiente.

Precaución: NUNCA conecte nada al Dobot Magician mientras esté encendido.


Apague SIEMPRE el Dobot antes de realizar las conexiones o podría dañar el robot.

VOCABULARIO CLAVE
• Bucle eterno • • Función

Bucle repetido • • Función definida por el usuario


Matriz • Entradas •
• Ventosa • Tiempo Variable

de retardo • Bloque • Mover a


matemático ReturnSum • Bloque numérico

www.chrisandjimcim.com V19.1 1
| Página

68
Machine Translated by Google

EQUIPOS Y SUMINISTROS

• Robot Magician • • Software DobotStudio

Diagrama de campo de Dobot • Pinza de ventosa • Guía de


• Cilindros o cubos de 1” entrada/ salida de Dobot

PREGUNTAS ESENCIALES
Las preguntas esenciales respondidas en esta actividad incluyen:
• ¿Por qué se utilizan variables? •
¿Cómo uso variables en Blockly? • ¿Cómo
puedo usar las matemáticas para paletizar? •
¿Cuáles son algunos de los comandos de bloques necesarios para hacer esto?
• ¿Por qué es importante la paletización y despaletización en la industria?

PROCEDIMIENTO

Precaución: NUNCA conecte nada al Dobot Magician mientras esté encendido.


SIEMPRE apáguelo antes de realizar conexiones o podría dañar el robot. Asegúrese de
preguntarle a su instructor si tiene alguna pregunta.

1. Imprima el diagrama de campo del tanque


de inmersión. 2. Configure el robot con una ventosa y coloque un cubo en todos los
cuadrados vacíos en el diagrama de campo proporcionado. (El color del cubo no
importa para esta actividad)

www.chrisandjimcim.com V19.1
2 | Página

69
Machine Translated by Google

3. Abra Blockly en el software e inicie un nuevo


programa.

Cuando vuelva a abrir este programa,


verifique que el nombre del archivo en
la parte superior coincida con el código
del archivo; si no es así, puede terminar
sobrescribiendo otro programa

Programar el robot para recoger cada cubo de una


matriz de cubos y dejarlos en una ubicación común no
es necesariamente difícil de hacer, solo tedioso, lento y
con numerosas líneas de código que son movimientos
repetitivos. Este mismo proceso se puede hacer a la
inversa; como cuando mueve partes de un alimentador
y las coloca en una matriz. Esto se llama paletización.

www.chrisandjimcim.com V19.1
3 | Página

70
Machine Translated by Google

De esta actividad podemos aprender a condensar y

simplificar nuestro programa cuando tenemos cosas en común o

repetidas.

En este ejercicio tenemos los siguientes puntos en


común: • Las ubicaciones anteriores de Z son las

mismas

• Las ubicaciones en Z son las mismas

• Las ubicaciones de los lugares X e Y son las mismas.

• Todos están UNIFORMEmente espaciados en forma regular.


matriz.

Lo único que sigue cambiando son las coordenadas X e Y de los


cubos en el campo de la matriz.

Podemos usar estos factores comunes para simplificar nuestras

operaciones y nuestro código. Haremos esto con variables y

funciones definidas por el usuario.

Las funciones son una sección con nombre de un programa

que realiza una tarea que se repetirá una y otra vez en nuestro

programa. Este es un procedimiento o una rutina que simplificará

enormemente nuestro complicado programa.

Funciones:

- Grupo de código: pueden ser varias líneas de código que

se necesitan para completar una sola tarea u operación.

Permite a un programador agrupar pensamientos o

acciones.

- Usar varias veces: se puede llamar a las funciones para

que se ejecuten varias veces a lo largo

un programa.

- Simplifica la Programación: Permite

código repetido para ser condensado en una sola

línea de código a lo largo de la principal

programa.

- Simplifica la edición. El código que se repite varias veces

a lo largo de un programa ahora solo necesita ser

editado
una vez.

www.chrisandjimcim.com V19.1
4 | Página

71
Machine Translated by Google

Comenzaremos nuestro programa definiendo un conjunto


de variables. Las variables son una cantidad variable en un
programa que se puede representar con una palabra o una
letra. Las variables se pueden asignar, cambiar o hacer
referencia a través de un programa.

Lista de variables a definir


• INICIO X Valor
• INICIO Y Valor
• INICIO Valor Z
• ELEGIR X valor
• ELIJA Y Valor
• LUGAR X Valor
• LUGAR Y Valor
• COMÚN Z ARRIBA Valor
• COMÚN Z AT Valor

Arrastre un elemento establecido a variable


desde la sección Variables .

Haga clic en la parte del "elemento" de la herramienta


variable y seleccione Nueva variable. Este será nuestro
valor de HomeX.

A continuación, desde la sección Matemáticas ,


arrastre un bloque numérico y adjúntelo al final de
nuestra variable.

www.chrisandjimcim.com V19.1
5 | Página

72
Machine Translated by Google

El siguiente paso es comenzar a encontrar cada uno de

nuestros valores iniciales.

Expanda el panel de operaciones

Con los controles Jog o el botón de bloqueo, busque


los valores de la tabla siguiente.

Hace que sea más fácil usar el botón de bloqueo para


acercarse a la posición deseada y luego usar los controles
Jog para movimientos más pequeños.

• Use el Cubo '0', del diagrama en la página 1,


como la ubicación X e Y para la ubicación de selección.
• Redondear todos los valores al entero más cercano
número

• Alinee el centro de la ventosa para


el centro del cubo
• Usar la ubicación de dip dank 2 como punto de
entrega común
• Asegúrese de que las posiciones CommonZAbove sean
lo suficientemente altas para despejar los otros
bloques. • Escriba los valores en la siguiente tabla o en

su cuaderno para referencia futura.

InicioX

InicioY

InicioZ

recogerX

Quisquilloso

LugarX

lugarY

ComúnZAt

ComúnZArriba

www.chrisandjimcim.com V19.1
6 | Página

73
Machine Translated by Google

Parte 1: Configuración de variables


Comience por registrar la posición de HomeX en la
ventana de números del bloque que creamos

Duplica el bloque HomeX hasta que tengas 9 variables


en total.

Haga clic izquierdo en el siguiente nombre de variable y seleccione


Variable nueva.

Crear Nuevas Variables para cada bloque y completar


sus valores

Si selecciona Cambiar nombre de


variable, solo cambiará el nombre de
ese valor y cada lugar en el que se
haya utilizado en el programa.

El orden en el que establecemos las variables no


asunto en este programa.

www.chrisandjimcim.com V19.1
7 | Página

74
Machine Translated by Google

El primer movimiento real es que el robot siempre vaya a

casa y apague la aspiradora. Arrastre y agregue estos bloques


al programa.

Recuerda que estas herramientas

provienen de la sección DobotAPI/ Motion.

Ahora usaremos algunos de los definidos por el usuario

variables que acabamos de crear.

Desde la sección Variable, ahora puede ver que todas las


variables que hemos creado ahora son opciones para usar.

Seleccione la variable HomeX (no la variable HomeX


configurada) y arrástrela a la posición X para el paso MoveTo .

www.chrisandjimcim.com V19.1
8 | Página

75
Machine Translated by Google

Rellene las posiciones restantes para el bloque MoveTo


Home como se muestra.

La asignación de variables realmente ayuda cuando las coordenadas XYZ en un programa van a
tener que cambiar varias veces o se van a utilizar como plantilla para varios programas.
Se pueden modificar una vez al comienzo del programa y se actualizarán en todas partes
donde se usaron en el programa. También facilita la lectura del programa ya que el usuario ahora ve
palabras en lugar de valores numéricos.

Ahora agregaremos todos los pasos necesarios para


obtener el primer bloque '0' de la ubicación de selección
asignada y moverlo a la ubicación del lugar.

Hacer duplicados de la posición MoveTo Home existente


que acabamos de hacer creará el programa más rápido.

Duplique y modifique otros bloques a medida que se


crean para ahorrar tiempo.

Vincula ambas secciones.

www.chrisandjimcim.com V19.1
9 | Página

76
Machine Translated by Google

Una vez escrito el programa, ejecútelo y compruebe si funciona correctamente. Si no funciona, solucione el problema hasta que
lo haga.

Recuerde: si llega a un límite con el robot en cualquier momento, o escucha un clic o un ruido de
rechinamiento, siempre es una buena idea volver a colocar el robot en la posición inicial. Además, si el robot
no vuelve a la misma posición, simplemente vuelva a colocarlo en su posición inicial.

Si su configuración no funcionó correctamente la primera vez, ¿qué tuvo que hacer para que funcionara?

TODO NUEVO - ¡¡¡LA PARTE TRUCOSA!!!

Parte 2: Ajuste de variables


Ahora es el momento para el segundo cubo.

La única diferencia en la programación de este cubo debe ser


la Posición X.

En el diagrama que se muestra, los bloques están separados


por 35 mm y el bloque se está moviendo hacia el robot. El
movimiento hacia el robot se muestra matemáticamente al
restar 35 mm del valor de posición X actual para el bloque
número 2 y nuevamente para el bloque número 3.

www.chrisandjimcim.com V19.1
10 | Página

77
Machine Translated by Google

Para ajustar la posición X, configure un bloque


(Devolver la suma de dos números) de la sección
Matemáticas y adjúntelo al bloque SetVariable .
Une los dos bloques.

Para agregar 35 mm al valor PickX actual y asignar


ese valor al valor PickX anterior, reemplace el primer
valor con PickX y el segundo valor con 35.

El valor X actual es igual a sí mismo más una constante de


35

Matemáticamente: PickX = PickX - 35

Tome la variable PickX de la


Sección de variables o duplicarlo
desde el programa principal

Agregue esta línea de bloque al final de su


programa

www.chrisandjimcim.com V19.1
11 | Página

78
Machine Translated by Google

Ahora que se ha ajustado el valor de PickX, repita


todo el proceso de recoger el segundo y el tercer cubo
y dejarlos en la ubicación del lugar.

Esto se puede hacer recreando toda la Sección 2 del


programa dos veces más. Hay una manera más fácil de
duplicar grupos de código sin agruparlos realmente. Si la
Sección 2 se separa de la Sección 1 (Tomar el 1er MoveTo
X), se puede poner en un bucle:

Si el bucle está duplicado, duplicará todo lo que


esté dentro del bucle.

Si se elimina un bucle antes de sacar


el grupo de código del bucle, eliminará
el bucle y su
contenido.

www.chrisandjimcim.com V19.1
12 | Página

79
Machine Translated by Google

Con este método, el programa se vuelve muy largo y


tendríamos que desplazarnos mucho para movernos por
nuestro programa.

Note también que lo mismo está sucediendo tres


veces. En su lugar, simplemente asigne un bucle y
repítalo tres veces.

Haz que se repita tres veces como se muestra y pruébalo


para asegurarte de que funciona con los bloques en los
espacios 0, 1 y 2.

Dado que se completa una columna completa de bloques, simplemente repita esto nuevamente para las siguientes dos columnas.

Esto se puede hacer restableciendo el valor X a lo que estaba en el código anterior y moviendo el valor Y a la siguiente
columna.

Repita este bloque de código con esos dos cambios dos veces más para completar toda la matriz.

Parte 3: Simplificación
Divide tu código en 3 partes separadas:

1. Asigne todos los valores originales necesarios como variables y envíe el robot a un lugar seguro/superior
posición
2. Recoja el primer objeto utilizando puntos de ubicación predefinidos de la lista de variables. Agregar o
reste cualquier valor que sea necesario para ir desde el centro del objeto de inicio al centro del siguiente objeto y
repita este proceso en un bucle para la cantidad de objetos que haya en esa columna específica.

3. Vuelva a asignar el valor inicial que se modificó en la sección 2 al valor original. Sume o reste el valor que sea necesario
para ir desde el centro del objeto inicial en la columna uno hasta el centro del siguiente objeto en la columna 2.

www.chrisandjimcim.com V19.1
13 | Página

80
Machine Translated by Google

www.chrisandjimcim.com V19.1
14 | Página

81
Machine Translated by Google

En lugar de crear un código realmente largo que se vea


así:
Sección 1
Sección 2
Seccion 3
Sección 2
Seccion 3
Sección 2
Seccion 3
Enviar robot a casa

Mire a la derecha para ver cuánto dura realmente


nuestro programa. Esto haría que fuera muy difícil
trabajar en la ventana de programación, ya que habría
que desplazarse mucho para realizar cualquier edición.

Simplificalo con otro bucle.

Asegúrese de agregar la sección 3 de arriba y restablecer


la variable PickX a su valor original y luego restar 35 de
PickY para moverlo.

Luego podemos duplicar y agregar un SuctionCup


Off final y un MoveTo Home final para finalizar el código.

Agregue esto al programa, luego intente ejecutarlo.

www.chrisandjimcim.com V19.1
15 | Página

82
Machine Translated by Google

Parte 4: Agregar funciones

El programa sigue siendo muy largo, aunque se utilizaron variables para hacerlo más breve y sencillo.

El siguiente paso es simplificarlo aún más con un bloque de código llamado función. Una función es una sección con nombre
de un programa que realiza una tarea. También se puede considerar un procedimiento o una rutina y simplifica enormemente
los programas que de otro modo serían complicados.

Cuando un programa llama a una función para que se ejecute, el programa hace una pausa, ejecuta la función y luego regresa
al programa donde lo dejó.

Arrastre sobre un bloque de función sin salida.

Podemos llevar TODO el proceso de bucle de matriz a


la Función

Asigne a la función un nombre que describa el


proceso que contiene... como Matrix

www.chrisandjimcim.com V19.1
16 | Página

83
Machine Translated by Google

La función que se acaba de crear ahora está


disponible para ser utilizada en el programa tantas
veces y donde sea necesario.

Arrastre la nueva función al bucle de repetición.

La función simplemente flota en el entorno de


programación sin conexión con el programa principal.
Son esencialmente mini programas separados para ser
llamados por el programa principal.

Las funciones de desarrollo no solo pueden producir


grupos de código para usar varias veces, sino que
también pueden ayudar a un programador a organizar
su programa en miniprogramas o pensamientos
separados.

www.chrisandjimcim.com V19.1
17 | Página

84
Machine Translated by Google

Una vez escrito el programa, ejecútelo y compruebe si funciona correctamente. Si no funciona, solucione el problema hasta que lo haga.

Si su configuración no funcionó correctamente la primera vez, ¿qué tuvo que hacer para que funcionara?

CONCLUSIÓN
1. En sus propias palabras, defina una variable.

2. En sus propias palabras, defina una Función.

3. Explique lo que habría que hacer para paletizar dos capas usando viñetas o un paso a paso
Listado abajo.

www.chrisandjimcim.com V19.1
18 | Página

85
Machine Translated by Google

IR MÁS ALLÁ

¿Terminó temprano? Pruebe algunas de las acciones a continuación. Cuando termine, muéstrele a su instructor y pídale
que ponga sus iniciales en la línea.

_________ 1. Use un interruptor como entrada para hacer que el robot espere hasta que mueva el bloque de
la posición Colocar y presione el interruptor.

_________
2. Mueve una fila de tres cubos a otra fila
(Matriz a Matriz)

_________
3. Desarrolle un programa que ejecute todo el proceso a la inversa. Tome un bloque de una
ubicación común y distribúyalo en una matriz de 3x3. Este proceso se conoce como paletizado.

4. Tome los cubos de un lugar común y


_________
apilarlos en una columna verticalmente.

www.chrisandjimcim.com V19.1
19 | Página

86

También podría gustarte