Home » Apps » Robot multifuncional Marvizz

Login with your Social Account

Robot multifuncional Marvizz

  •  
  •  
  •  
  •  
  •  
  •  

Diseño y creación de un robot móvil con control mediante aplicación Android

Hoy en día se requiere de robots de todo tipo para realizar todo tipo de tareas, como también robots exploradores para explorar lugares inaccesibles o inhabitables por el ser humano (el espacio, por ejemplo). Por ello, para un alumno en ingeniería electrónica industrial y automática,  le es importante adquirir conocimientos de robótica, no solo por la demanda de éstas aplicaciones, si no también para aplicar todo lo aprendido y consolidar dichos conocimientos, y como valor añadido, aprender cosas que no se habían visto durante la carrera.

Una buena manera para desarrollarse en el ámbito de la robótica desde cero, es la construcción de un robot basado en arduino, el cual debe realizar varias aplicaciones por si solo, como también ser controlado manualmente. Evidentemente todo ha de ser supervisado y controlado por una interfaz de usuario, la cual ha de ser diseñada y creada por el alumno, como cabría esperar.

Antes de empezar el montaje del robot, se debe saber que componentes va a necesitar, y para ello, hay que saber previamente que aplicaciones va a realizar.

En nuestro caso, van a ser dos aplicaciones autónomas más el control remoto. La primera aplicación autónoma es el evita obstáculos, donde el robot debe moverse por el entorno que le rodea sin chocarse. La segunda aplicación, en cambio, emite un sonido cuya frecuencia irá determinada por la distancia a la cual se encuentre el objeto (por ejemplo la mano) enfrente del robot, pudiendo realizar melodías aproximando o alejando la mano del usuario del robot.

Una vez determinadas las aplicaciones, se procede a realizar la lista de componentes necesarios para el robot, los cuales se muestran en la siguiente imagen:

 

Componentes:

      2 Servomotores de rotación continua

  2 Ruedas con tiras

1 Arduino nano v3.0

1 Shield I/O (expansión de entradas/salidas)

2 Láseres

1 Bluetooth

1 Rueda loca

1 Buzzer

1 Sensor ultrasonido (sonar)

1 Matriz Max7219 8×8 Led rojo

2 Piezas de chapa pre diseñadas en Autocad y realizadas con corte por láser (estructura del robot)

 

El siguiente paso es el montaje del robot, mediante el cual se le da “cuerpo” al robot. Con ayuda de cola termo fusible facilitada por el profesor, se procedió a la unión de las partes, obteniendo como resultado el robot mostrado en la siguiente imagen:

 

Para visualizar el esquema electrónico realizado para las conexiones de los componentes en el arduino, se ha utilizado el programa “fritzing”, el cual permite, de una manera bastante cómoda  y fácil, diseñar el esquema electrónico y visualizarlo de manera sencilla. Dicho esquema electrónico es el que se muestra en la siguiente imagen:

 

Una vez realizado el esquema electrónico y el cuerpo del robot, se procede a la programación de las aplicaciones. Para la programación se ha utilizado tanto librerías externas como las ya proporcionadas por arduino IDE, además del código diseñado por nosotros mismos.

A continuación, se procede a explicar con mayor detalle cada aplicación autónoma:

Evita obstáculos:

Básicamente se le ordena al robot que se mueva sobre su entorno sin chocarse. Para que esto ocurra, el robot debe desplazarse hacia adelante con un leve giro hacia la izquierda a una velocidad rápida. Cuando el sonar detecte un obstáculo a una distancia superior a 20 cm y a la vez, inferior a 50 cm, el robot continuará haciendo el mismo movimiento pero con una velocidad más moderada. Una vez el sonar detecte un obstáculo a una distancia inferior a 20 cm, el robot realizará un giro sobre sí mismo hasta que el sonar capte una distancia superior a 20 cm, y así continuar con su exploración del terreno.

Cabe destacar que el robot,  se mueve principalmente hacia delante con un leve giro hacia la izquierda, esto es debido a que, si después de girar para evitar un obstáculo, siguiera en línea recta, podría tropezarse con una esquina de algún objeto (indetectable por el sonar). Para evitar esto, se le ordena que se desplace hacia delante con un leve giro.

Como valor añadido, el robot muestra mediante la matriz 8×8 una cara que expresa felicidad cuando está explorando el terreno, y cuando detecta un objeto a una distancia inferior a 20 cm, expresa una cara de miedo. Además, el robot tiene los dos láseres activados mientras realiza la exploración, pero cuando detecta algo delante a menos de 20 cm, ambos láseres empiezan a parpadear expresando “peligro”.

 

Theremin

Esta aplicación sigue los principios del instrumento musical electrónico “theremin”, mediante el cual se pueden realizar melodías sin necesidad de contacto físico. En este caso, el sonar mide la distancia a la que está el objeto (en este caso, la mano del usuario) y en función de esa distancia, asigna un valor de frecuencia. En función de ese valor de frecuencia, el buzzer emite un sonido. Dependiendo de la frecuencia, el sonido será distinto, y obviamente, la frecuencia dependerá de la distancia que marque el sonar.

En definitiva, mediante el movimiento de la mano (aproximación y alejamiento de la mano al sonar) la frecuencia varía, consiguiendo así que el buzzer emita sonidos distintos y realizando, de esa manera, melodías con un simple movimiento horizontal.

Además, el sonido también se ve reflejado en la matriz 8×8, siendo tal que, cuando más alejada este la mano del sonar (sonido agudo), la matriz mostrara por pantalla un circulo grande, y mientras la mano vaya aproximándose al sonar (el sonido se vuelve más grave ), el círculo mostrado por la matriz se vuelve cada vez más pequeño. De esta manera, se simula como si el propio robot estuviera realizando la melodía con su propia “boca” (boca abierta, sonido agudo, boca muy cerrada, sonido grave).

 

Control manual:

Para el control manual, se ha utilizado los ejes del acelerómetro del propio móvil, de tal manera que, si se inclina el móvil hacia delante, el robot se desplaza hacia adelante. Si se inclina el móvil hacia atrás, el robot se desplaza en sentido contrario (línea recta). En el caso de que se incline el móvil hacia la derecha o izquierda, el robot se desplazará hacía delante con un giro considerable, siendo el giro horario (inclinación del móvil hacía la derecha) o antihorario (inclinación del móvil hacia la izquierda). Evidentemente, si el móvil esta en horizontal (sin inclinación alguna), el robot estará en estado de reposo, es decir, parado.

También se han añadido dos botones para realizar rotaciones horarias y antihorarias sobre el propio eje vertical robot, botones los cuales se pueden pulsar solo si se está en el estado de reposo.

 

 

Aplicación android con App Inventor 2

Como se comento anteriormente, se requiere de una supervisión de las aplicaciones del robot, como un control sobre ellas, cuando empezar y cuando parar, como también cuando conectar al bluetooth y cuando no. Para ello se ha diseñado una aplicación android con App inventor 2, la cual viene a ser la siguiente:

 

Pantalla Inicial

 

La pantalla inicial contiene dos botones, uno el cual lleva a las aplicaciones autónomas y otro el cual dirige al control manual del robot.

 

Control de las aplicaciones autónomas

 

En esta pantalla, se observa dos botones para la conexión y desconexión del bluetooth. A su vez, se muestra dos casillas para activar o desactivar las aplicaciones autónomas, como también un botón que permite al usuario volver a la pantalla inicial.

Cabe destacar, que, para evitar problemas, si se selecciona una aplicación autónoma, será totalmente imposible seleccionar la otra, a no ser que se desactive la activada previamente. Se muestra un ejemplo en la siguiente imagen:

 

 

 

Se observa como, al estar activo el evita obstáculos, la casilla del theremin esta de color gris claro, lo que significa que no se puede pulsar, o dicho de manera más técnica; el enabled de la casilla del theremin está desactivado, hasta que el evita obstáculos se desactive. También cabe mencionar que, al pulsar la casilla para activar la aplicación en cuestión, el texto “Desactivado” pasa a poner “Activado”. Lo mismo sucede al desactivarlo, volviendo a poner el texto “Desactivado”.

 

Pantalla del control manual

 

 

En el control remoto se observa, al igual que en la pantalla de aplicaciones autónomas, dos casillas, una para conectarse al bluetooth, y otra para desconectarse. Además, tiene los botones comentados anteriormente para hacer rotar el robot sobre si mismo tanto en sentido horario (derecha) como antihorario (izquierda). Por otra parte, también muestra por pantalla la llamada “zona actual”, la cual  indica al usuario en todo momento en que estado está el robot (Reposo, adelante, atrás, izquierda o derecha).

También posee el botón “Volver a inicio”, el cual redirecciona al usuario a la pantalla de inicio.

Cabe mencionar que al pulsar el botón “Volver a inicio” (desde cualquier pantalla), además de volver a la pantalla inicial, también desactiva automáticamente el bluetooth, ya que el app inventor 2 no permite tener un mismo bluetooth en pantallas distintas (dentro de la programación). De ésta manera, evitamos que, al cambiar de pantalla con el bluetooth encendido, aparezca un mensaje de error debido a fallo de conexión con el bluetooth.

 

Conclusiones:

En definitiva, la creación de un robot y su respectiva interfaz de usuario nos ha permitido aprender no solo la programación de dichas aplicaciones, si no también a entender la relación que existe entre ellas y de como una “máquina” interpreta la información. Además, también se ha aprendido bastante sobre el funcionamiento de los componentes (ultrasonido, buzzer, matriz 8×8 etc) y la teoría que hay detrás de éstos.

Para terminar, debemos mencionar que la realización de este proyecto nos ha brindado no solo la posibilidad  de enfrentarnos a la creación de un robot desde cero, si no también ha hecho que nos demos cuenta de que a punto de terminar la carrera universitaria, hemos adquirido competencias las cuales no creíamos poseer antes de realizar este proyecto.

 

Autores:

Domínguez González, Abel

Roig Monzón, Pablo

 

 

 

A %d blogueros les gusta esto: