Skip to main content

Lección 3: Mover dos cubos

En la lección anterior, aprendiste a codificar el brazo de 6 ejes para recoger y colocar un cubo en el palé. En esta lección, se basará en lo que aprendió para mover varios cubos al palé. Aprenderás a: 

  • Planifique las ubicaciones de entrega de los cubos que colocará en el palé.
  • Codifique el brazo de 6 ejes para mover dos cubos con éxito al palé.

Al final de la Lección, incorporará su proyecto para recoger y colocar cuatro Cubos en el palé en la Actividad. 

Imagen de la actividad completada con 4 cubos en un palet

Pensando en el posicionamiento en el palé

En la lección anterior, movió un cubo al palé y lo colocó en el centro. Una de las ventajas de enviar grandes cantidades de artículos utilizando un palé es que se pueden transportar muchos objetos a la vez. Para hacer esto de manera efectiva, esos objetos deben organizarse de manera eficiente para permitir a las empresas empacar más en cada palé que envían. 

Un palé sería una forma ineficiente y costosa de mover uno o dos objetos pequeños, como la situación de colocar un cubo en el centro del palé. Sin embargo, colocar más cubos en el palé hace que el envío sea más eficiente y rentable. Imagen de dos palets uno al lado del otro: uno con un solo cubo colocado en el centro y otro con cuatro cubos colocados en las esquinas

Para ello, tendremos que pensar dónde se colocará cada uno de los Cubos en el palet. A lo largo de esta lección, aprenderá a codificar el brazo de 6 ejes para mover varios cubos y colocarlos juntos de manera efectiva en el palé.

Coloque el primer cubo

Su proyecto de la Lección 2 movió un cubo al centro del palé. El primer paso para colocar varios cubos es ajustar la ubicación de entrega del primer cubo, colocándolo en la esquina del palé.

Abra su proyecto de la Lección 2 en VEXcode EXP. 

Imagen del proyecto de la Unidad 7 Lección 2

Cambie el nombre del proyecto a Unidad 7 Lección 3 y guárdelo en su dispositivo. 

Imagen del cuadro de diálogo del nombre del proyecto en VEXcode con Unidad 7 Lección 3

Coloque el cubo en la esquina del palé. 

Mueva manualmente el brazo de 6 ejes para que el imán toque la parte superior del cubo.

Imagen del imán tocando la parte superior del cubo en la esquina del palé

Asegúrese de que el brazo de 6 ejes esté conectado a VEXcode. 

Seleccione el icono Monitor en la barra de herramientas para abrir el Monitor. 

Imagen de la barra de herramientas con el icono Monitor resaltado

Registre las coordenadas x e y desde la Consola del monitor en su cuaderno de ingeniería. Estas serán las coordenadas x e y de la ubicación de entrega del cubo.

Recuerde que el brazo de 6 ejes se moverá por encima de la ubicación de entrega antes de mover el cubo hacia abajo al palé. Esto significa que no es necesario registrar el valor z. 

 

Imagen de los valores x, y, z en la consola del monitor

Introduzca las coordenadas x e y de la nueva ubicación de entrega en su proyecto. La coordenada z debe permanecer igual, de modo que el brazo de 6 ejes permanezca por encima de la ubicación de entrega. 

Asegúrese de usar sus coordenadas, ya que las que se muestran aquí son un ejemplo y pueden variar de sus propias coordenadas registradas.

Imagen del proyecto con los nuevos valores de x e y introducidos en el proyecto

Asegúrese de que el brazo de 6 ejes esté conectado a VEXcode y que el cubo esté colocado en la zona de carga.

Ejecuta el proyecto para probarlo. Observe los comportamientos del brazo de 6 ejes. ¿Recoge y coloca el Cubo en la esquina del palé según lo previsto? ¿Por qué sí o por qué no? 

Imagen del botón EJECUTAR en la barra de herramientas

Detenga el proyecto cuando el brazo de 6 ejes haya dejado de moverse. Registre sus observaciones en su cuaderno de ingeniería. 

Imagen del botón de PARADA en la barra de herramientas

Mover un segundo cubo

Ahora que el primer cubo está en la nueva ubicación de entrega, hay espacio en el palé para colocar cubos adicionales. Los mismos comportamientos utilizados para mover el primer cubo se repetirán para mover un segundo. El brazo de 6 ejes deberá moverse al mismo lugar de recogida, enganchar el imán, mover el cubo al palé y soltar el cubo.Imagen de los 2 cubos etiquetados en el palet

Hay varias estrategias de codificación que puedes probar para ayudar a mover ambos cubos con éxito. 

Añadir un bloque de repetición

Sabiendo que se va a repetir una secuencia de comportamientos, la primera estrategia a probar es usar un bloque de repetición. Como aprendiste en la unidad anterior, un bloque de repetición es útil para repetir bloques o una pila de bloques en un proyecto.

 

Agregue un bloque de repetición a su proyecto debajo del bloque Establecer efector final, como se muestra aquí.

Archivo de vídeo

Arrastre el bloque Move the Cube to the pallet Comment al bloque Repeat, como se muestra aquí. Esto también arrastrará todos los bloques posteriores al bloque Repetir. 

Ahora, se pueden repetir todos los bloques necesarios para recoger y colocar un cubo desde el punto de recogida hasta la esquina del palé. 

Archivo de vídeo

Establezca el parámetro en el bloque Repetir en 2.

Dado que está tratando de mover dos cubos al palé, los comportamientos se repetirán dos veces. 

Imagen del parámetro del bloque Repetir establecido en 2

Lea el código que ha creado y prediga lo que hará el brazo de 6 ejes cuando se ejecute el proyecto. 

Registre su predicción en su cuaderno de ingeniería. Es posible que desee dibujar la trayectoria del brazo de 6 ejes o dibujar dónde se colocarán los cubos en el palé. 

Imagen del proyecto con el bucle Repetir en él

Asegúrese de que el brazo de 6 ejes esté conectado a VEXcode.

Ejecuta el proyecto para probarlo. Observe los comportamientos del brazo de 6 ejes cuando se ejecute el proyecto.

Imagen del botón EJECUTAR en la barra de herramientas

Detenga el proyecto cuando el brazo de 6 ejes termine de moverse. Registre sus observaciones en su cuaderno de ingeniería. 

¿El brazo de 6 ejes movió ambos cubos al palé con éxito? ¿Por qué sí o por qué no? 

Imagen del botón de PARADA en la barra de herramientas

Esto no movió el segundo cubo como estaba previsto y causó un error. Dado que el primer cubo se colocó en esa posición, el segundo cubo tampoco se puede colocar en la misma ubicación. El brazo de 6 ejes no ha podido llegar a la ubicación, por lo que se ha producido un error. 

Para colocar el segundo cubo en el palé, tendremos que cambiar este cubo a una posición abierta en el palé. 

Mueva el segundo cubo en relación con el primero

Conocer la posición del primer cubo en el palet, significa que el siguiente cubo se puede colocar en relación con el primero. Aprendiste sobre el movimiento relativo en la unidad anterior y ahora puedes aplicar esos conceptos para ayudar a colocar el segundo cubo. 

Para llegar a la siguiente esquina del palé, el brazo de 6 ejes se moverá en la dirección positiva a lo largo del eje y. Imagen del palet con 2 Cubos en él, con una flecha que indica la dirección y positiva

Usando lo que se sabe sobre el tamaño del cubo, se puede determinar el desplazamiento necesario para colocar el segundo cubo. El desplazamiento es la diferencia entre la ubicación actual y la ubicación deseada de un objeto. En el palé, el desplazamiento para el segundo cubo es la distancia entre el centro del primer cubo y el centro del segundo cubo en su ubicación deseada.

Dado que un cubo tiene 25 mm de ancho, podemos aproximar que el desplazamiento es de 50 mm.Imagen de dos Cubos en el palet con el offset indicado

Ahora que conoce la distancia y la dirección del movimiento relativo necesario, esta información se puede añadir al proyecto.

Añada un bloque de posición de incremento al proyecto como se muestra aquí. 

Archivo de vídeo

Establezca el parámetro y en 50. Esto indica un movimiento relativo de 50 mm a lo largo del eje y. 

Imagen del parámetro y introducido en el proyecto

Lea el código y prediga el comportamiento del brazo de 6 ejes. 

Registre su predicción en su cuaderno de ingeniería. ¿Crees que este proyecto colocará con éxito ambos cubos en las ubicaciones deseadas? ¿Por qué sí o por qué no? 

Imagen del proyecto en este punto

Asegúrese de que el brazo de 6 ejes esté conectado a VEXcode. Ejecuta el proyecto para probarlo. 

Observe el comportamiento del brazo de 6 ejes.

Imagen del botón EJECUTAR en la barra de herramientas

Detenga el proyecto cuando el brazo de 6 ejes haya terminado de moverse. Registre sus observaciones en su cuaderno de ingeniería. 

¿Coincidió tu predicción con lo que habías observado? ¿Se mueven los dos cubos a las ubicaciones previstas en el palé? ¿Por qué sí o por qué no? 

Imagen del botón de PARADA en la barra de herramientas

Como habrás predicho, este proyecto tampoco mueve ambos cubos a las ubicaciones previstas. El bloque de posición de incremento movió correctamente el brazo de 6 ejes a la posición deseada para el segundo cubo. Sin embargo, debido a que todos los comportamientos se repitieron, ambos cubos se trasladaron a esta ubicación. Esto creó el mismo error que el proyecto anterior, solo que en una ubicación diferente en el palé. 

El objetivo es colocar el primer cubo en la primera ubicación y el segundo cubo en la segunda ubicación del palé. Para hacer esto con éxito, el proyecto debe realizar un seguimiento de qué cubo se está moviendo. Si el primer cubo se está moviendo, debe ir a la primera ubicación. Si el segundo cubo se está moviendo, se puede colocar en la segunda ubicación. 

Mover dos cubos usando variables y un bloque If then

Para realizar un seguimiento de qué cubo se está moviendo, se puede crear una variable y usarla en el proyecto para esencialmente "contar" los cubos a medida que se están manipulando. Se puede usar una variable para almacenar información sobre qué cubo se está moviendo. Esta información se puede utilizar para tomar una decisión dentro del proyecto: si el brazo de 6 ejes está moviendo el segundo cubo , debe moverlo a la segunda ubicación en el palé.  

 

Crea una variable y llámala CubeCount. Seleccione Enviar para crear la variable. 

Puede volver a visitar la Lección 2 de la Unidad 6 para obtener recordatorios sobre cómo crear una variable en VEXcode.

Imagen del cuadro de diálogo de nomenclatura de variables en VEXcode

Añada el bloque Establecer variable al proyecto por encima del bloque Repetir, como se muestra aquí. 

Archivo de vídeo

Establezca el parámetro en 1. Asegúrese de que la variable CubeCount esté seleccionada en el menú desplegable. 

Cuando se inicie el proyecto, se recogerá el primer Cubo. Dado que el propósito de esta variable es numerar el cubo que se está moviendo, debe establecerse en '1' para comenzar. 

Imagen del bloque Set variable en el proyecto con el conjunto de variables Cube Count y el parámetro establecido en 1

Anteriormente se añadió un bloque de posición de incremento para mover el brazo de 6 ejes a la segunda ubicación de entrega. Para mover el primer cubo a la ubicación de entrega, este bloque debe eliminarse.

Haga clic derecho en el bloque Incrementar posición y elimínelo, como se muestra aquí. 

Archivo de vídeo

Añada un bloque Cambiar variable a la parte inferior del bloque Repetir, como se muestra aquí.

Cuando se ejecute el proyecto, el primer cubo se moverá a la ubicación de entrega. Agregar el bloque Cambiar variable aquí hará que el CubeCount aumente después de que se entregue el primer cubo. Cuando el bloque Repetir retrocede para recoger el segundo cubo, la variable aumenta '2', lo que indica que el segundo cubo se está moviendo. 

Archivo de vídeo

Ahora que el proyecto está almacenando información sobre el número de cubos, podemos usar esa información para tomar una decisión. Un bloque If then nos permite hacer una pregunta dentro de un proyecto y usar información (como el valor de una variable) para tomar una decisión. Image of the If then block in VEXcode

El bloque If then es un bloque C que acepta bloques informadores booleanos como condición. Un bloque booleano devuelve una condición como VERDADERO o FALSO, y cabe dentro de cualquier bloque con una entrada hexagonal. Si la condición se informa como VERDADERA, entonces los bloques dentro del bloque C se ejecutarán. Si la condición se informa como FALSA, el bloque If then se omitirá en el proyecto. 

En este caso, la condición que buscamos es que la variable CubeCount sea 2. Si la variable CubeCount es 2, entonces el brazo de 6 ejes debe moverse a la segunda posición en el palé. 

Pensemos en qué parte del proyecto se debe tomar esa decisión. El proyecto recogerá el cubo en la zona de carga y luego se moverá por encima de la ubicación de entrega. Si el CubeCount es 2, entonces el brazo de 6 ejes tendrá que realizar un comportamiento adicional para moverse a la segunda posición del palé. Image of the project broken down

 

Añada un bloque If al proyecto como se muestra aquí. 

Imagen del bloque If then añadido al proyecto con un comentario

Añada un igual para bloquear en el espacio hexagonal en el bloque If then, como se muestra aquí.

Archivo de vídeo

Añada la variable CubeCount en el lado izquierdo del operador Equal to. Ajuste el lado derecho del operador Equal a 2, como se muestra en este vídeo.

Si la variable CubeCount es igual a 2, la condición booleana informará como VERDADERA. Si el CubeCount no es 2, entonces la condición booleana informará como FALSA. 

Archivo de vídeo

Añada un bloque de posición de incremento dentro del bloque C como se muestra aquí. 

Archivo de vídeo

Ajuste el parámetro y del bloque Incrementar posición a 50. 

Cuando se cumpla la condición del bloque If then, se ejecutará el bloque Incrementar posición dentro del bloque If then. Esto significa que si el CubeCount es 2, entonces el brazo de 6 ejes hará el movimiento relativo a la segunda posición en el palé.

Imagen del proyecto con el parámetro y añadido

Lea el código y prediga lo que hará el brazo de 6 ejes cuando se ejecute el proyecto. 

Registre su predicción en su cuaderno de ingeniería.

Imagen del proyecto en VEXcode EXP

Asegúrese de que el brazo de 6 ejes esté conectado a VEXcode. Ejecuta el proyecto para probarlo. 

Observe el comportamiento del brazo de 6 ejes a medida que se ejecuta el proyecto. 

Imagen del botón EJECUTAR en la barra de herramientas

Detenga el proyecto cuando el brazo de 6 ejes haya terminado de moverse. Registre sus observaciones en su cuaderno de ingeniería.

¿El brazo de 6 ejes se movió como predijo? ¿Ambos cubos se movieron al palé según lo previsto? ¿Por qué sí o por qué no?

Imagen del botón de PARADA en la barra de herramientas

Para su información

Es posible que desee ejecutar el proyecto varias veces, para que pueda prestar atención a los bloques que se están ejecutando a medida que el brazo de 6 ejes se mueve. Busque lo más destacado alrededor de los bloques a medida que se ejecutan en el proyecto, para ayudarlo a comprender mejor cuándo se ejecuta el bloque If then. También puede usar la función Paso para ejecutar el proyecto un bloque a la vez, para ayudarlo a ver el flujo del proyecto con el bloque Si y luego con mayor claridad. Image of the STEP button in the Toolbar

Recuerde que puede añadir una variable al Monitor, para ayudar a ver el valor de CubeCount a medida que se ejecuta el proyecto. Para añadir una variable al Monitor, arrastre la variable al icono del Monitor en el Espacio de trabajo, como se muestra en este vídeo. Mientras ejecuta el proyecto, asegúrese de ver la variable en el Monitor, para ayudarle a ver la conexión entre el valor de la variable y el flujo del proyecto.

Archivo de vídeo

Revisión del proyecto 

Repasemos el proceso de resolución de problemas que se utilizó para resolver el desafío de colocar dos cubos en el palé. Hubo varias iteraciones del proyecto para lograr que el brazo de 6 ejes moviera ambos cubos según lo previsto: 

  • Se añadió un bloque de repetición para repetir los comportamientos necesarios para recoger, mover y entregar un cubo al palé.
  • Se añadió un bloque de posición de incremento para mover el segundo cubo a una posición abierta en el palé.
  • Se añadió una variable para contar los Cubos, de modo que se pudiera tomar una decisión en función de qué Cubo se estaba moviendo. 
  • Se añadió un bloque If then para tomar una decisión basada en el valor de la variable. 

Todas estas iteraciones juntas crearon un proyecto que recogió y entregó ambos Cubos con éxito. Cuando se recogió el segundo cubo, el brazo de 6 ejes volvió a mover el cubo por encima de la ubicación de entrega original en el palé. Entonces se tomó una decisión. Image of the 6-Axis Arm with the second Cube held above the first Cube, and the VEXcode project with the If then block highlighted and the variable count at 2 in the MonitorDado que el CubeCount es '2', el bloque dentro del bloque If se ejecuta, moviendo el cubo a lo largo del eje y a la posición deseada del palé.

El proceso iterativo en el que participó a lo largo de esta Lección es algo que continuará haciendo cada vez que resuelva un desafío con el Brazo de 6 ejes. Es importante recordar que la mayoría de los desafíos de codificación no se resolverán perfectamente en el primer intento. Este proceso de planificación, construcción, prueba y evaluación puede llevar a su grupo a encontrar soluciones creativas. La mayoría de los desafíos se pueden resolver de múltiples maneras, por lo que al participar en este proceso de forma colaborativa, puedes encontrar la estrategia que mejor funcione para tu grupo. 

Actividad

Ahora que ha movido dos cubos de la zona de carga al palé, practicará estas habilidades. En esta actividad, desarrollarás tu proyecto a partir de esta lección para codificar el brazo de 6 ejes y mover cuatro cubos al palé.

Imagen de la actividad completada con cuatro cubos en un palet

Actividad: Codifique el brazo de 6 ejes para colocar cuatro cubos en un palé.

  1. Planifique cómo construirá su proyecto para codificar el brazo de 6 ejes para recoger el cubo adicional de la zona de carga y colocarlo en el palé con su grupo. Asegúrese de que todos estén de acuerdo con su enfoque antes de comenzar a editar el proyecto. 
    1. Documente su plan en su cuaderno de ingeniería.
    2. Cambie el nombre de la actividad de la Lección 3 de la Unidad 7 de su proyecto y guárdela en su dispositivo antes de comenzar a editar el proyecto.
  2. Edite el proyecto en VEXcode para que coincida con el plan acordado por su grupo.
  3. Ejecuta el proyecto para probarlo. Coloque manualmente el segundo, tercer y cuarto Cubo en la zona de carga una vez que se haya colocado cada Cubo.
  4. ¿El brazo de 6 ejes mueve con éxito los cubos como pretendía? Debe haber cuatro cubos en el palé. Si no es así, continúe editando el proyecto hasta que haya colocado correctamente los cuatro cubos. 

Compruebe su comprensión

Antes de pasar a la siguiente lección, asegúrate de comprender los conceptos de esta lección respondiendo las siguientes preguntas en tu cuaderno de ingeniería. 

Verifique sus preguntas de comprensión > (Google Doc / .docx / .pdf)


Seleccione Siguiente > para pasar a la actividad Ponerlo todo junto.