Mecatrónica

PK-M-183-CY Robot que recoge basura.

Educación de calidad
Acción por el clima

Asesor: Chanell Nirvana Castillo Thierry

Pandilla Petit, (preescolar y 1ro. y 2do. año de primaria)

Resumen

En resumen, mi trabajo consistió en investigar cómo construir y programar un Robot que recoja basura, con el objetivo de contribuir en la recolección de desechos de mi casa y comunidad para tener un planeta limpio. Apoyado de diversa bibliografía, entendí como se puede programar un ROBOT a través del software “LEGO®️ MINDSTORMS®️ Education EV3”. Mi proyecto está dividido en 2 partes: Primeramente la parte teórica y una etapa final que es el desarrollo de mi prototipo de ROBOT. Finalmente, además de beneficiar a nuestro planeta e intentar frenar el daño que le hemos generado, permite ahorrar un alto costo de mano de obra pues todas las personas que se dedican a esta actividad tienen daños a la salud por la emisión de gases y toxinas.

Pregunta de Investigación

¿Cómo construir y programar un robot que recoja la basura?

Planteamiento del Problema

Uno de los grandes problemas que plantea la vida moderna es la falta de conciencia de las personas que desechan basura en parques, calles, avenidas, terrenos baldíos o cualquier lugar inadecuado para esta actividad.

En las últimas décadas hemos aprendido a desarrollar tecnología que nos facilita la realización de actividades industriales y domésticas en nuestra vida diaria.

Por lo anterior observo la posibilidad de construir y programar un robot que apoye en la recolección de basura en mi comunidad.

Antecedentes

El origen de la fabricación de ROBOTS probablemente se encuentra en la necesidad imperiosa de buscar alternativas para facilitar y optimizar cualquier tarea productiva.

En la historia de la humanidad siempre ha estado presente la invención como herramienta indispensable para el desarrollo personal, social y tecnológico.

La robótica es fundamental en industria, ya que la automatización supuso un punto de inflexión en el planteamiento laboral de infinidad de empresas: alivió muchas de las obligaciones tediosas para trabajadores y ayudó en la optimización de la productividad.

Más sectores que se sirven de la ayuda de la robótica:

  • Mecánica
  • Informática
  • Física
  • Inteligencia artificial
  • Ingeniería de control
  • Electrónica

Gracias a todos los avances tecnológicos que estamos viviendo la robótica cada vez es más fundamental.

Ejemplos reales son los robots que se utilizan en la limpieza de residuos tóxicos, en la desactivación de bombas y minas terrestres o en misiones espaciales concretas.

Objetivo

Diseñar y programar un robot que colabore con la recolección de basura y así poder apoyar en los servicios domésticos y públicos de mi casa y comunidad.

Justificación

Contribuir con la recolección de basura de mi comunidad a través de la construcción y programación de un robot que se encargue de recolectarla.

Hipótesis

Si construimos y programamos robots para la recolección de basura, entonces podemos contribuir a tener nuestra comunidad y planeta con calles limpias.

Método (materiales y procedimiento)

  1. Investigación documental

El primer paso para realizar mi proyecto fue asistir a bibliotecas en busca de diversos libros que hablaran de Robótica, descubrí lo siguiente:

Cuando se intenta definir un robot normalmente se piensa en una máquina inteligente, que detecta cosas a su alrededor, que se mueve o mueve cosas, e incluso de aspecto y comportamiento humanoide.

Una definición más exacta del término ROBOT podría ser: Un Autómata programable capaz de realizar determinadas operaciones de manera autónoma, en especial tareas repetitivas, precisas o peligrosas.

Entonces podemos analizar lo siguiente:

  • Es una máquina.
  • Se ha fabricado para funcionar de manera automática. Es decir, por sí sola, sin intervención humana.
  • Su comportamiento obedece a un programa informático. Por lo tanto, cambiando el programa se puede modificar su funcionamiento.
  • Las aplicaciones más importantes de los robots son hacer tareas que se realizan una y otra vez (repetitivas), o en las que es necesario no cometer ningún fallo (precisas), o en las que se corre riesgo para la integridad física de quien las realiza (peligrosas).

El robot de aprendizaje que voy a construir se llama Posidonia. Sus principales características son:

  • Incluye todos los motores: dos para moverse y un tercero para accionar apéndices móviles.
  • En la parte delantera tiene un soporte central y dos brazos para sujetar sensores.
  • En la parte superior tiene un “periscopio” en forma de L que puede sujetar un sensor elevado, y una “antena” que servirá como soporte vertical.
  • Tiene un parachoques trasero que también puede sujetar un sensor.

ENTORNO DE PROGRAMACIÓN

Un entorno de programación es una aplicación que permite realizar programas informáticos. Necesitas tenerlo instalado en tu computadora:

El proceso habitual de trabajo será hacer en tu ordenador un programa para el robot con el software “LEGO®️ MINDSTORMS®️ Education EV3”, y después descargarlo al robot y ejecutarlo.

El entorno “LEGO” MINDSTORMS®️ Education EV3″ se tiene en la computadora con un icono como este:

Los programas se agrupan en “proyectos”. Hay que crear el proyecto en el que irás creando los primeros programas de aprendizaje de robótica.

Hacer clic en la pestaña con forma de signo “+” tal y como indica la flecha amarilla y roja de la figura de la izquierda. Si antes de hacer clic se deja unos segundos el cursor del ratón verás aparece la leyenda “Agregar proyecto”.

Aparece un proyecto con el nombre por defecto “Proyecto” y un programa dentro de él llamado “Program”, según se observa en la siguiente figura:

Para que sea más cómodo programar hay que pulsar el botón que está a la derecha con la leyenda “Cerrar el editor de contenido”, según indica la flecha en la figura anterior.

El siguiente paso será guardar el proyecto y darle nombre. Para ello pulsar el botón con la leyenda “Guardar proyecto” indicado en la siguiente figura con una flecha:

 

Es recomendable que el nombre que le pongas al proyecto tenga relación con la función de los programas que contiene. Por eso este proyecto puede llamar “Movimiento”, ya que contendrá todos los programas los que vas a aprender a controlar el movimiento de un robot.

ACTIVIDADES DE APRENDIZAJE

ACTIVANDO UN MOTOR

El primer programa será muy sencillo: hará girar una rotación el motor auxiliar conectado en el puerto A de Posidonia.

Descarga y Ejecución de Programas

Hasta el momento el único programa que contiene el proyecto “Movimiento” tiene el nombre “Program”.

Hay que cambiarlo para que sea más descriptivo de lo que el robot va a hacer.

Para ello hacer doble clic en el nombre de la pestaña a modificar y escribir el nombre “Motor A”, según se muestra en la figura.

El programa “Motor A” ya tiene dibujado el primer bloque “Iniciar” donde comenzará el programa. Este bloque está representado con un triángulo verde en su interior que recuerda a un botón “play”.

Queremos que el motor A se mueva, así que vamos a ver cómo darle esta orden al robot.

En la parte inferior de la pantalla hay unas pestañas con colores llamadas “Paletas de programación”. En ellas están agrupados todos los bloques de programación. Poner el cursor encima de la paleta verde, aparece la leyenda “Acción”. En esta paleta se encuentran los bloques con los dispositivos de salida del robot: motores, pantalla, altavoz y luces.

Mover el puntero del ratón hasta el primer bloque de la izquierda:

Dejar el puntero ahí unos segundos aparecerá la leyenda “Motor mediano”.

Hacer clic sobre este bloque y arrástralo moviendo el ratón hasta la derecha del bloque “Iniciar”. Observa que si te acercas lo suficiente aparece un recuadro gris en el fondo. En ese momento se puede hacer otra vez clic con el ratón y el bloque se colocará automáticamente en su posición. El programa debe quedar así:

Con este boque se indica al ROBOT que el motor mediano conectado en el puerto A debe girar a potencia 50% una rotación y después frenarse.

Si te has equivocado es muy fácil corregirlo. Hacer clic en el bloque que has colocado mal y pulsa el botón “Suprimir” de tu teclado. Así se borrará y podrás empezar de nuevo.

Ahora hay que descargar el primero programa al robot y ejecutarlo para ver cómo funciona.

El robot debe estar encendido y debes conectar el cable USB que viene en la caja de piezas. Enchufa el conector más grande en un puerto USB de tu ordenador: Y el más pequeño en el puerto USB de la CPU del robot, que está en la parte trasera de Posidonia (al lado del puerto D) con las letras “PC” escritas debajo.

En la parte inferior derecha del entorno de programación hay información de la CPU que se ha conectado. También es el lugar donde se descargan los programas.

Debajo del texto “EV3” hay tres botones de descarga. Utilizaremos mero de ellos, el botón “Descargar”:

Una vez pulsado, se descarga el programa “Motor A” a la CPU. Al terminar el proceso la CPU reproduce un sonido.

El siguiente paso será ejecutar el programa desde la CPU del robot.

Para ello hay que pulsar una vez el botón “Derecha” de la CPU para seleccionar la pestaña de proyectos. Después, usando los botones “Arriba” y “Abajo” de la CPU hay que seleccionar nuestro proyecto “Movimiento pulsar el botón “Aceptar” que está en el centro. Con esto aparecerán dos los programas del proyecto.

Con el botón “Abajo” seleccionamos el programa “Motor A” que queremos ejecutar y pulsamos el botón “Aceptar”.

MOVIMIENTO EN LÍNEA RECTA

Avance en Línea Recta

Primero crear un nuevo programa en el proyecto “Movimiento”. Pulsa el botón con el signo “+” que hay a la derecha de la pestaña del programa

“Motor A” y después selecciona “Nuevo programa”:

Aparecerá una nueva pestaña de programa con el nombre “Program”.

Cambia el nombre del programa y llámalo “Recta”, tal y como lo hicimos en la actividad anterior:

Cada una de las dos ruedas del robot está conectada a un motor grande diferente. Por lo tanto, para hacer que el robot se mueva en línea recta hay que hacer girar los dos motores grandes a la misma velocidad. Si uno fuese más rápido que otro, se desplazaría haciendo una curva.

Para facilitar el control simultáneo de los dos motores grandes se utiliza el bloque “Mover la dirección” indicado en la figura anterior.

Coloca un bloque “Mover la dirección” al principio del programa:

Los valores que tiene este bloque son, de izquierda a derecha:

Botón de modo de funcionamiento: indica el tipo de control de movimiento que se ha seleccionado. El modo por defecto es

“Encendido por rotaciones”, lo que quiere decir que el giro de los motores se controla diciendo cuantas vueltas tiene que dar.

Potencia: es un valor de 0 a 100 que indica el porcentaje de potencia respecto al máximo posible. El valor 50 indica movimiento a mitad de potencia.

Rotaciones: es el número de giros que dará cada uno de los motores. El valor 1 indica un solo giro.

Detener al final: el valor verdadero “V” indica que al terminar de girar se aplica el freno para detener el movimiento lo más rápido posible. Si fuese falso “X”, al finalizar los giros no se aplicaría el freno y los motores se detendrían sin brusquedad.

Este bloque es similar al que ya utilizamos en el programa

“Motor A”. Solo hay una diferencia, y es que controla dos motores grandes a la vez en lugar de uno mediano.

Además, en la parte superior derecha se indica con “B+C” los puertos donde deben estar los motores. No te preocupes por esto. Si has seguido las instrucciones de montaje de Posidonia con atención las conexiones de los motores ya los tendrás en los puertos B y C.

Descarga este programa y ejecútalo en el robot. Puedes comprobar que las ruedas del robot dan una vuelta observando la aguja blanca que hay en cada rueda de Po-sidonia.

La aguja debe quedar en la misma posición que estaba antes de moverse el robot.

Control por Grados, Aceleración y Frenado

El giro de los motores se puede controlar también por grados en lugar de rotaciones.

Como una rotación son 360°, utilizar los grados nos permite un control más preciso del movimiento.

Añadir otro bloque “Mover la dirección” a continuación del anterior pero esta vez controlado por grados. El procedimiento es el mismo, selecciona el bloque de la paleta, arrástralo hasta el final del programa y colócalo haciendo clic.

Para utilizar grados en lugar de rotaciones, pincha en el botón del bloque que está en la parte inferior izquierda y verás cómo se despliega un menú para elegir el modo de funcionamiento del bloque. Elige el modo

“Encendido por grados”:

A continuación modifica la potencia para subirla hasta 80, y los grados para que sean 540 (el equivalente a una vuelta y media):

Descarga el programa y ejecútalo. Posidonia avanzará un poco a mitad de potencia y después acelerará para avanzar un poco más. Si te fijas en la aguja blanca de la rueda, debe dar dos vueltas y media en total.

Para que sea menos brusca la aceleración desde potencia 50 a 80, desactiva el freno en el primer paso. Pincha en el valor “Detener al final” de primer bloque y selecciona “Continuar por impulso” en lugar de “Detener”:

Descarga el programa y observa la diferencia con el anterior.

Retroceso en Línea Recta

Ahora vamos a hacer que el robot vaya hacia atrás. Añade un tercer bloque “Mover la dirección” al final y modifica la potencia para que tenga el valor “- 20”:

Con un valor negativo de potencia, estamos diciéndole a los motores que giren en sentido contrario. Esto provocará que el robot retroceda en lugar de avanzar. Observa como la flecha de dirección ha invertido su sentido y ahora apunta hacia abajo en lugar de hacia arriba.

El número de rotaciones puede tener decimales. En este caso le hemos dicho a los motores que deben girar hacia atrás 1,5 rotaciones.

Comprueba el resultado y verifica que después de avanzar acelerando, retrocede despacio.

GIROS Y CURVAS

Antes de empezar las actividades crear un nuevo programa en el proyecto “Movimiento” y llámalo “Giros”.

Trayectorias Curvas

Para hacer que el robot siga una trayectoria curva, hay que mover las dos ruedas a velocidades distintas.

Una manera de controlar las curvas del robot es con el bloque “Mover la dirección” que ya has utilizado para las trayectorias rectas.

Hay que programar una curva abierta a la derecha. Coloca un bloque

“Mover la dirección” con los valores indicados en la siguiente figura:

Revisa que el valor de dirección ya no es cero como vimos en las trayectorias rectas, en esto caso tiene un valor 15. Y la flecha ya no es una línea recta sino una curva a la derecha. El bloque se encargará de hacer girar la rueda izquierda más rápido para realizar esta curva.

Se aprecia mejor la trayectoria que sigue el robot aumentando el número de rotaciones a 3.

Descarga el programa y ejecútalo

Para comprobar que las dos ruedas giran a velocidades diferentes, puedes contar las vueltas que da la aguja blanca de cada rueda. Ya verás como en este caso, la rueda derecha gira menos que la izquierda.

Ahora vamos a añadir una curva a la izquierda un poco más cerrada. Coloca otro bloque “Mover la dirección” en el programa:

Observa el valor que tiene la dirección. Ahora es “-30”:

Esta curva será más cerrada que la anterior, ya que 30 es mayor que 15.

La curva es a la izquierda, ya que “-30” tiene signo negativo.

La flecha ahora apunta a la izquierda. Cambia también las rotaciones a 2 y ejecuta el programa. Verás como hace dos curvas seguidas una abierta a la derecha y a continuación otra más cerrada a la izquierda.

Giro Pivotando

Este giro es la curva más cerrada que puede hacer un robot. Se conoce como pivotar porque el robot “pivota” sobre una rueda que permanece parada.

Suprimir los dos bloques que tiene el programa “Giros” y coloca de nuevo un bloque “Mover la dirección” al principio del programa:

La dirección con valor 50 hace una curva a la derecha tan cerrada que solo funciona un motor, permaneciendo el otro parado. Las rotaciones valen 3 para que puedas observar mejor el giro que realiza el robot.

Ejecuta el programa en el robot y comprueba que funciona correctamente.

Añade un segundo bloque “Mover la dirección” para hacer una curva pivotando a la izquierda:

A la potencia hay que darle el valor “-50”. Por lo tanto, el robot no solo hará un pivote a la izquierda, sino que también lo hará marcha atrás en lugar de adelante como el primer giro.

Poner las rotaciones a 2 para que puedas apreciarlo mejor y ejecuta el programa en tu robot.

 

Giro sin Desplazamiento

El tercer tipo de giro que puede hacer un robot es un cambio de dirección pero permaneciendo en el mismo lugar. Por eso se llama giro sin desplazamiento.

Para practicar los giros sin desplazamiento borra otra vez el programa “Giros” y coloca un nuevo bloque “Mover la dirección” al principio.

Solo hay que poner 100 en dirección. La flecha ahora toma una forma giratoria hacia la derecha. Ejecuta este programa y observa como tu robot gira sobre sí mismo hacia la derecha sin moverse del sitio.

Hay un aspecto muy importante que debes tener claro. Lo que gira el robot y lo que giran los motores son cosas diferentes. Fíjate que en el programa anterior, con una rotación completa de motores, el robot no ha dado una vuelta, de hecho no ha llegado ni a media vuelta.

La relación entre lo que gira el robot y lo que giran los motores se expone con más detenimiento en la actividad “Precisión en el movimiento del robot del capítulo 6, epígrafe 6.1.

A continuación, vamos a aprovechar la práctica de giro sin desplazamiento hacia la izquierda para que aprendas otro método de control de los motores. Añade un segundo bloque “Mover la dirección” al programa y pincha en el botón para elegir el modo de funcionamiento del bloque.

Selecciona “Encendido por segundos”:

A continuación configura este bloque para que el robot gire sin desplazamiento a la izquierda durante 2 segundos:

Al seleccionar el modo de “Encendido por segundos” ha cambiado el icono de duración. Ahora hay un reloj que significa que el número que escribas debajo son los segundos que van a estar funcionando los moto-res. En este ejercicio el tiempo serán 2 segundos.

Ejecuta este programa y mira como Posidonia gira sin moverse del sitio, primero a la derecha con 1 rotación de los motores y después a la izquierda durante 2 segundos.

Puedes repetir el experimento para hacer que tu robot haga un giro de 180° y dé media vuelta.

TRAYECTORIAS REPETITIVAS

Ahora vamos a empezar a hacer trayectorias complejas pero que se pueden realizar repitiendo un mismo recorrido varias veces.

Un ejemplo puede ser un recorrido en forma de cuadrado. Si lo piensas detenidamente una trayectoria cuadrada consiste en avanzar en línea recta, después girar 90° hacia un lado y repetir estos pasos 4 veces

Cuando hay una parte del programa que se repite, en programación se utiliza lo que se conoce como “bucle”. Vamos a utilizar un bucle para programar de manera más sencilla el recorrido en forma de cuadrado.

Crea un nuevo programa en el proyecto “Movimiento” llamado “Bucle”, y selecciona la Paleta de programación de color naranja donde están los bloques de “Control de flujo”:

El primer bloque de esta paleta ya lo conoces. Es el bloque de “Iniciar” con el que empiezan todos los programas. El bloque de bucle es el tercero, según se indica en la figura anterior. Picha este bloque y colócalo al principio del programa.

Ahora está en modo “Ilimitado”, que quiere decir que nunca termina y se repite indefinidamente. Por eso en el botón de tipo de bucle aparece el símbolo infinito “∞”.

Para que se repita un número limitado de veces, pincha en el botón de tipo de bucle y selecciona “Conteo”.

A continuación, escribe 4 debajo del símbolo almohadilla “#”.

Una vez que has configurado el bucle correctamente, vamos a colocar dentro los bloques que queremos que se repitan 4 veces. Si recuerdas el primero es avanzar en línea recta.

Y después el giro de 90°, con un modo de funcionamiento de encendido por grados:

Un giro sin desplazamiento se programa poniendo 100 en la dirección. El valor de 215 grados de giro en los motores es aproximado para que el robot gire sin desplazamiento 90°. Tienes que utilizar el valor que ya calculaste para tu robot en la anterior actividad “Experimenta con tu robot”.

Ejecuta el programa en tu robot y comprueba si hace bien el recorrido en forma de cuadrado.

  1. b) Investigación de campo

No pude realizar investigación de campo, toda vez que no pude agendar entrevistas con los expertos del Colegio.

  1. c) Investigación experimental

Mi proyecto está basado en 2 etapas una inicial que contempla toda la investigación y una segunda etapa que implica realizar el modelo de mi Robot.

Galería Método

Resultados

Una vez realizada la investigación teórica, me resta poner en marcha lo que aprendí y comenzar con la construcción de mi Robot.

Galería Resultados

Discusión

Conclusiones

Después de la revisión de la información puedo concluir que aunque es difícil y oneroso realizar la construcción y programación de un robot que recoge basura, es posible crearlo y en consecuencia podemos tener calles limpias en nuestra comunidad y planeta.

Bibliografía

  1. Arlegui de Pablos, Javier; Pina Calafi, Alfredo, Didáctica de la Robótica Educativa, Editorial Dextra
  2. Gabriel Ocaña Rebollo, Robotica Educativa, 2015, Editorial Dextra.
  3. Pedro Ponce Cruz, Robótica Aplicada con Labview y Lego, 2015, Editorial Marcombo.

Summary

In summary, my work consisted of researching how to build and program a Robot that collects garbage, with the aim of contributing to the collection of waste from my home and community to have a clean planet. Supported by different bibliography, I understood how a ROBOT can be programmed through the “LEGO®️ MINDSTORMS®️ Education EV3” software. My project is divided into 2 parts: First the theoretical part and a final stage which is the development of my ROBOT prototype. Finally, in addition to benefiting our planet and trying to stop the damage we have caused to it, it saves a high cost of labor because all the people who dedicate themselves to this activity have damage to their health due to the emission of gases and toxins.

Research Question

Problem approach

Background

Objective

Justification

Hypothesis

Method (materials and procedure)

Results

Discussion

Conclusions

Bibliography