Home » Grado

Category Archives: Grado

Login with your Social Account

Robot diferencial MJ-01ES

Robot diferencial MJ-01ES

El robot MJ-01ES es un robot diferencial basado en Arduino; el cual es controlado vía Bluetooth a través de una aplicación móvil, que se desarrolló en MIT App Inventor 2. Este es capaz de realizar cuatro funciones, las cuales son: seguidor de líneas, esquiva obstáculos, control manual del robot a través de interfaz de usuario y movimiento de robot con el uso de acelerómetro de dispositivo Android.

Fig. 1. Robot MJ-01ES.

El desarrollo del robot MJ-01ES, se llevó a cabo con los siguientes componentes:

  • Arduino Nano v3
  • Arduino Nano I/O Shield
  • 1 Servo SG90
  • 2 Servo de rotación continua FS90R
  • 1 Sensor infrarrojo TCRT5000
  • 1 Sensor de ultrasonidos HC-SR04
  • 1 Par de ruedas servo FS90R
  • 1 Modulo Bluetooth HC-06
  • 12 cables dupont hembra-hembra
  • 1 Powerbank
  • Piezas en 3D
  • Pieza de madera con corte laser 150x150mm2

La construcción del robot se realizó a partir de piezas impresas en 3D y la pieza base de madera a corte laser, como se puede ver en Fig. 1. La plantilla de la pieza base se presenta en Fig. 2, y las piezas en 3D se diseñaron en el programa Solid Edge ST8, donde se puede ver el ensamble del robot en Fig. 3 y 4. Y en Fig. 5, se muestra ya armado.

Fig. 2. Diseño 2D de la base del robot MJ01-ES para corte láser.


Fig. 3. Isométrico del ensamble de piezas del robot MJ01-ES en 3D. Vista 1.


Fig. 4. Isométrico del ensamble de piezas del robot MJ01-ES en 3D. Vista 2.


Fig. 5. Robot ensamblado. 

Diagrama de conexiones:

El diagrama de conexiones del robot MJ-01ES se muestra en Fig. 6, este fue realizado en el programa Fritzing.

Fig. 6. Esquema de conexión electrónico del robot MJ01-ES.

NOTA: Las conexiones de Tierra y Vcc no se realizaron en el esquema debido a que eran varias y no se notarían las demás conexiones.


Funciones del robot:

Seguidor de líneas

El MJ-01ES será un robot seguidor de línea; básicamente, será capaz de desplazarse a lo largo de una línea de color negro sobre una superficie color blanca, basando su funcionamiento en el sensor infrarrojo TCRT5000 que detectará si el robot está sobre la línea o no. Se colocará un sensor infrarrojo en la parte frontal del robot, el cual funcionará de la siguiente manera:

  • Cuando el sensor detecte la línea negra, el robot estará sobre la línea, y por lo tanto deberá avanzar. Para ello los dos servos giraran a la misma velocidad.
  • Cuando el sensor ya no detecte negro entonces, el servo de la izquierda girará más rápido para encontrar de nuevo la línea negra; se gira más el servo de la izquierda, ya que el sensor se encuentra colocado un poco a la derecha, en el frente del robot.

Esquiva obstáculos

También el MJ-01ES tendrá la capacidad de detectar objetos y esquivarlos. Cuando el robot detecte un objeto a una distancia de 30cm, entonces comenzará su función de esquivar los objetos que encuentre en su camino. Al momento de esquivarlos, el robot tomará tres medidas con el sensor de ultrasonido HC-SR04 (a la izquierda, al centro y a la derecha), midiendo así la distancia al objeto; por tanto, se irá cambiando la posición del sensor con la ayuda de un servo SG90, imitando el movimiento de la cabeza humana.

Ahora bien, la comprobación de la existencia de obstáculos funcionará de la siguiente manera:

  • Si no hay ningún obstáculo a menos de 30cm por delante del robot, este podrá avanzar recto.
  • Si hay obstáculo a menos de 30cm, entonces el robot comprobará si puede esquivar el objeto por algún lateral, así:
  • Primero se comprobará si se puede esquivar por la izquierda, si no hay nada a menos de 30 cm en este lado se podrá girar 90°.
  • Si no se puede por la izquierda, se comprobará si es posible por la derecha.
  • Y si hay obstáculos tanto por la izquierda como por la derecha, el robot girará 180° sobre sí mismo para poder encontrar otro camino libre de obstáculos.

Control Manual a través de interfaz

El control manual del robot se realizará a través de la interfaz que se encuentra en la aplicación móvil, en esta se tienen cuatro flechas indicadoras, según el movimiento que se pretende realizar con el robot. El movimiento del robot será continuo, siempre y cuando el usuario mantenga su dedo sobre la flecha deseada. Las flechas indican: movimiento recto hacia delante, movimiento hacia atrás, movimiento hacia izquierda y hacia derecha. Esto se puede ver en la interfaz, Fig. 9.

Uso de acelerómetro de dispositivo Android

Una de las cosas más fascinantes que se encuentran hoy en día en dispositivos Android u otros más es el acelerómetro. Este permite detectar si está en vertical u horizontal el dispositivo o en que inclinación se encuentra. Entonces estos beneficios ayudaran a manejar el robot simplemente moviendo el dispositivo en la inclinación o dirección que se desee. Esto se puede ver en Fig. 7 y 8.

Cuando el dispositivo se encuentre de manera horizontal completamente, el robot no se moverá; cuando cumpla las condiciones del área que se observa en Izq, entonces se moverá hacia la izquierda y así será con las demás, dependiendo lo que el usuario desee.


Fig. 7. Acelerómetro en dispositivos.


Fig. 8. Funcionamiento de acelerómetro en dispositivo Android.

Programación en MIT App Inventor 2:

La interfaz diseñada se muestra en Fig. 9, esta dispone de un botón ON y un OFF. Al presionar ON, aparecerá una lista de los dispositivos que tienen  activado el Bluetooth, en este caso se seleccionará el Bluetooth de Arduino. Al estar conectados, aparece un mensaje que indica si la conexión ha sido satisfactoria (State).

Posteriormente se selecciona la función que se desea que el robot realice, estas funciones se encuentran en la parte derecha de la interfaz (botones de colores). El botón verde, S, es el que activa el seguidor de líneas; el botón rojo, E, activa el esquiva obstáculos; el amarillo, M, indica la acción de manual, con el cual se podrán utilizar los botones de la izquierda; el botón azul, A, activa el uso del acelerómetro. Y el botón que se encuentra en el centro, Stop, para la función que está ejecutando el robot y así se puede seleccionar otra función.

Finalmente, con el botón OFF, el robot queda desconectado del dispositivo.


Fig. 9. Interfaz de la aplicación autónoma del robot MJ-01ES.

La programación en MIT App Inventor 2 se realiza en lenguaje de bloques, por lo cual es bastante intuitivo su manejo. En Fig. 10, se puede ver de manera general la programación realizada para esta aplicación.


Fig. 10. Programación en bloques del robot MJ-01ES.

Programación en Arduino:

La programación del robot se realizó principalmente en Arduino IDE. Donde inicialmente se incluyen las librerías de los servos y del módulo Bluetooth; y se declaran todas las variables.

En el void loop (), se incluye el programa principal, donde inicialmente el robot está parado y el servo SG90 está en una posición adecuada, para que la cabeza del robot este hacia el frente. Esto se realiza con dos funciones: giroservo(A_0) y paro(). Fig. 11.

Ahora bien, para la selección de las distintas funciones del robot se utilizó un switch case, el cual dependiendo al número recibido, así el robot realiza dicha acción. Estos casos se activan siempre y cuando el dispositivo que controla de manera remota al robot esté conectado vía Bluetooth. Fig. 12.

Al final del programa se declararon unas funciones que se mandan a llamar del programa principal, como por ejemplo: giro90izq(), giro90der(),giro180(); las cuales indican los giros ya sea hacia la derecha, izquierda o la vuelta completa sobre sí mismo.


Fig. 11. Parte de programa realizado en Arduino IDE.


Fig. 12. Bluetooth activo en robot MJ-01ES.

Los vídeos del funcionamiento de cada función que realiza el robot se encuentran en los siguientes enlaces:

 

Trabajo en equipo:

 

Autores:

Flores Ventura, Katherine Michelle

Rivera Andrade, Josué Roberto

Consultas a los correos:

micheventura24@gmail.com

josue.andrade000@gmail.com

Rufus2: Robot omnidireccional impreso en 3D

Rufus, robot omnidireccional impreso con aplicación de control remoto y aplicación autónoma para mantener las distancias y seguir paredes.

(más…)

Robot Minionbot

MinionBot

1.Introducción

En esta entrada presentaré al robot móvil ‘Minionbot’. Se trata de un robot formado por piezas impresas, diseñadas por mi mismo, con la capacidad de ser manejado mediante bluetooth desde cualquier móvil. A continuación detallaré cada una de sus partes para que cualquier persona pueda montarlo en su casa.

(más…)

Sargal! Mi robot multifuncional!

Sargal es un pequeño robot móvil fabricado con piezas de madera cortadas por laser que puede desarrollar diversas funcionalidades. Entre ellas se han implementado un vehículo de Braitenberg sigue luz – evita obtáculos, un coche teledirigido controlado con una applicación en android a través de bluetooth, y un controlador de proximidad empleando un regulador proporcional. (más…)

DYOR: Robot Pirata “The Fancy”

Robot DYOR: Robot Pirata “The Fancy”

(más…)

D-bot

Este es D-bot, un robot diferencial basado en Arduino controlado por vía Bluetooth a través de una aplicación móvil desarrollado mediante MIT App Inventor 2. D-bot es capaz de realizar tres funciones distintas haciendo uso de los sensores de ultrasonidos delantero y trasero de los que dispone. Estas tres funciones son: un control manual a través de nuestra aplicación, otra para evitar obstáculos y una tercera función más interactiva con el robot que consistirá en molestarlo.

Para la creación de este robot móvil se han necesitado los siguientes materiales:

  • 1 x Arduino Nano v3
  • 1 x Arduino Nano I/O Shield
  • 2 x sensor de ultrasonidos HC-SR04
  • 2 x servo rotación continua FS90R
  • 1 x módulo Bluetooth SPP-C
  • 1 x altavoz pasivo (buzzer)
  • 2 x rueda servo FS90R
  • 1 x rueda loca
  • 1 x lámina de madera contrachapada 150x150mm²
  • 20 x cable dupont hembra-hembra

Una vez disponemos de todo el material necesario podemos proceder a diseñar a D-bot.

Sobre la placa de madera se ha diseñado la estructura de nuestro robot que cargará con todos los elementos electrónicos. Este diseño se ha realizado utilizando la herramienta Q-Cad, muy sencilla de manejar para proyectos simples. El resultado es este:

Ahora que tenemos la estructura física y los elementos electrónicos, podemos distribuir estos elementos para hacernos una idea de la forma que va a tener nuestro robot y para analizar como realizar el esquema electrónico.

A parte del diseño de la estructura, también hay que dibujar el esquema electrónico con el que nos guiaremos para montar nuestros componentes. Este esquema lo hemos realizado mediante Fritzing, otra herramienta muy fácil de manejar para realizar este tipo de trabajos. En nuestro caso queda de la siguiente forma:

Como se puede ver en el esquema, hemos conectado el sensor de ultrasonidos delantero a los pines 4 y 5, el trasero a los pines 9 y 10, el servo derecho al pin 2, mientras que el izquierdo al 12, el buzzer lo hemos configurado para que funciones en el pin 11 y, por último, el módulo Bluetooth lo hemos conectado a sus pines correspondientes en el Arduino Nano I/O Shield. Todo el circuito electrónico se alimentará con una pila de 9V.

Ahora que tenemos tanto la estructura física como el esquema electrónico, podemos comenzar el montaje de nuestro robot. El resultado final es el siguiente:

                    

A continuación, necesitamos desarrollar la aplicación móvil que nos va a permitir tener el control sobre D-bot. Como hemos mencionado anteriormente, la realizaremos mediante MIT App Inventor 2, un entorno de desarrollo de software creado por Google Labs para la elaboración de aplicaciones destinadas al sistema operativo Android. La programación con esta herramienta se basa es elaborar una especia de “puzle”, por lo que resulta bastante intuitivo y fácil de aprender y manejar, además de que tiene la capacidad de crear una gran variedad de tipos de aplicaciones.

Con respecto a nuestro robot, continuaremos desarrollando la interfaz de nuestra aplicación, donde podremos elegir cualquiera de las tres funciones de las que va a disponer D-bot: Control manualEvita obstáculos o No molestar.

Al abrir nuestra aplicación, y antes de seleccionar cualquier función, se nos abrirá una ventana inicial que solamente dispone de un botón que nos llevará a otra ventana donde ya podremos elegir la función que deseamos ejecutar. Estas son las ventanas respectivamente:

 

Control manual

El control manual se basa en manejar a nuestro robot usando nuestro teléfono móvil. Para hacer un manejo bastante intuitivo, hemos aprovechado el propio acelerómetro de nuestro dispositivo, de forma que depende de como lo orientemos, D-bot se desplazará de diferente forma: si lo inclinamos hacia delante se moverá hacia delante, si lo inclinamos hacia la derecha girará hacia la derecha, si lo dejamos horizontal se quedará quieto, etc.

La interfaz diseñada dispone de un primer botón para conectarnos al dispositivo Bluetooth de Arduino. A partir de entonces podremos o iniciar el movimiento al presionar Iniciar o desconectarnos del dispositivo del que nos hemos conectado.

 

Evita obstáculos

Esta es la segunda función y, como su nombre indica, consiste en no chocarse contra ningún elemento que se encuentre en nuestro entorno. En este modo el robot se moverá describiendo una curva amplia y al detectar con el sensor ultrasonido delantero un objeto a menos de 20cm, se parará, emitirá un sonido y cambiará su trayectoria. El diseño para este modo dispone de casi los mismo elementos que el del anterior: un botón para conectarnos al dispositivo Bluetooth, otro para desconectarnos, uno para iniciar el modo y otro para finalizarlo.

 

No molestar

La tercera función se basa en una especia de “juego” con nuestro robot. D-bot se mantendrá quieto hasta que alguien se le acerque por delante o por detrás (activando uno de los dos sensores de ultrasonidos), haciendo que se aleje en la otra dirección. Al cabo de repetir este proceso varias veces, D-bot se cabreará por molestarlo tanto y emitirá una ráfaga de sonidos y se pondrá a dar vueltas sobre sí mismo durante 5 segundos. La interfaz de este modo es igual que la del modo anterior.

Cabe mencionar que como tanto esta última función como la anterior dependen de las lecturas de los sensores de ultrasonidos, pero éstas a veces pueden ser erróneas (especialmente al enfocar a esquinas), por lo que nuestro robot puede realizar movimientos extraños cuando no debería.

 

El último paso es desarrollar el código que subiremos al Arduino Nano v3  para que nuestro robot se pueda manejar con nuestra aplicación. Este código consiste principalmente en incluir las librerías necesarias para hacer funcionar todos los elementos, en configurar dichos elementos en sus pines correspondientes, en desarrollar las funciones para hacer funcionar correctamente cada modo del robot y en seleccionar un caso distinto dependiendo del botón que se haya pulsado en nuestra aplicación móvil, con lo que se ejecutará un modo u otro.

Una vez tenemos el código implementado sin ningún error, ya podemos disfrutar de nuestro D-bot.

 

Conclusiones

Además de inicializarme en la electrónica de Arduino y de entender cómo funciona, desarrollar un proyecto de este tipo, que engloba desde el diseño estructural del robot, hasta la programación final, pasando por la selección de los materiales según tus necesidades e incluyendo la elaboración de una aplicación móvil para poder manejarlo a voluntad, ha sido una gran oportunidad para ver como soy capaz de afrontar la creación de un robot móvil desde cero y de como solucionar los problemas que van surgiendo conforme se va avanzando en su desarrollo. También tengo que añadir  que realizar este proyecto me ha supuesto una gran satisfacción personal por lo que ya he mencionado anteriormente, por crear un robot móvil interactivo por mi propia cuenta.

 

Autor:

Uroz Franco, Daniel

Robot diferencial BeetleBot

BeetleBot es un robot diferencial casero basado en Arduino. Su funcionamiento será controlado a través de una conexión Bluetooth con un teléfono móvil. El robot está diseñado para funcionar en tres modos diferentes: dos aplicaciones autónomas y un modo de control remoto. Las tareas autónomas que realizará serán: Evitador de obstáculos y Seguidor de luz. (más…)

Robot Jimmy

 

 

  1. Descripción del robot

La presente entrada trata sobre el montaje y programación de un robot basado en arduino, controlado a distancia (bluetooth), mediante una aplicación del sistema operativo Android.

Respecto al material se ha utilizado lo siguiente:

  • (1) Arduino I/O Shield
  • (1) Arduino Nano v3.0
  • (1) Bluetooth HC-06
  • (2) Servomotores FS90R
  • (2) Ruedas de goma 7 cm de diámetro
  • (2) Sensores infrarojos (linetracker)
  • (1) Sensor HC-SR04 (sonar)
  • (1) Matriz de LEDs 8×8
  • (1) Rueda loca
  • (1) Kit de 20 piezas LEGO
  • (1) Kit 20 cables hembra-hembra
  • (1) Batería portátil 5000 mAh
  • Maderas para chasis
  • Material adicional: cinta aislante, pegamento de contacto y sierra

2.  Diseño

El robot contará con dos ruedas motrices en la parte trasera y una rueda loca en la parte delantera, por lo tanto tendrá una estructura de triciclo.

El chasis se compondrá de un trozo de madera y piezas de lego superpuestas para conseguir la forma deseada (tipo escalón). Dicho chasis consta de dos subpartes, una en la que la placa de arduino queda resguardada y otra donde se almacenan los cables (justo delante de esta se encuentra el ultrasonidos), además en la parte superior del arduino existe otro espacio donde se colocará la batería portátil y la matriz de LEDs. Como se ve en la foto:

En la parte de abajo del chasis se colocará los dos siguelineas, uno a cada lado de la rueda loca. Se ha colocado una pieza de lego entre el chasis y el siguelineas para que este mas cerca del suelo. Como podemos ver en la foto:

3.  Aplicaciones desarrolladas

  • Siguelineas
  • Evita obstáculos
  • Modo manual

Estos tres modos se controlan y eligen a través de una aplicación de Android, que tiene la siguiente apariencia:

  • Siguelineas

En este caso se ha desarrollado una aplicación que tiene como objetivo seguir una línea negra, sin salirse de ella, gracias a la ayuda de dos sensores infrarrojos, uno situado a la derecha del robot y otro a la izquierda. El objetivo final es que una vez encuentre una línea negra no la abandone y realice el circuito diseñado.

  • Evita obstáculos

Esta aplicación trata de evitar obstáculos gracias a la ayuda de un sensor de ultrasonidos (sonar). El ultrasonido está en la parte frontal del robot, y la función que tiene es detectar objetos a menos de 15 cm y evitarlos, avanzando hacia atrás con el robot, y girando para evitar el obstáculo.

  • Modo manual

Esta aplicación consta de los botones de la aplicación A+ (hacia delante), A- (hacia detrás), I (izquierda) y D (derecha), los cuales a través de comandos de bluetooth dirigen al robot hacia la dirección deseada. De esta forma el robot será controlado de forma manual, dirigiéndose hacia la misma dirección hasta la pulsación de otro botón, incluido el botón ‘PARAR’ que sirve para parar los servomotores y por ende las ruedas.

4. Ejemplos de aplicación

Evita obstáculos

Imagen de previsualización de YouTube

 

Modo manual + siguelineas

Imagen de previsualización de YouTube

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

 

 

 

C3PO

En el siguiente proyecto se va ha realizar la implementación de un robot móvil el cual tiene que tener tanto dos aplicaciones autónomas (sigue lineas y esquiva objetos) como un manejo manual, a través de una aplicación de móvil conectada mediante Bluetooth.

Estos objetivos se van a conseguir mediante el uso de una serie de componentes, los cuales estarán nombrados posteriormente en un listado, y con su  programación respectiva en Arduino.

 

 

Listado de componentes:

  • ARDUINO NANO I/O SHIELD (1)
  • SEGUILÍNEAS TCRT5000 (2)
  • SENSOR ULTRASONIDOS HC-SR04 (1)
  • PAR RUEDAS SERVO FS90R (1)
  • SERVO ROTACION CONTINUA FS90R (2)
  • 20 CABLES DUPONT HEMBRA-HEMBRA (1)
  • MODULO BLUETOOTH SPP-C (1)
  • RUEDA LOCA (1)
  • FABRICACION PIEZAS CORTE LASER 150x150mm2 (1)

A continuación, se van a detallar las dos aplicaciones autónomas y la aplicación manual.

Sigue lineas

Esta aplicación va  a tratar de seguir una linea de color negra, realizando así un circuito. Esto se va conseguir mediante la implementación dos sensores infrarrojos que mediante la señal analógica que genera podremos diferenciar entre la pista y el circuito, que tendrán distinto color, blanco y negro, respectivamente.

 

Resultado de imagen de sensor infrarrojos tcrt5000
Sensor infrarrojo.

 

Así cuando un sensor infrarrojo detecte la linea negra, cambiara el sentido de la rueda correspondiente haciendo que el robot gire en la dirección correcta y redirigir el robot dentro de la pista, consiguiendo que no abandone la linea.

 

Resultado de imagen de sigue lineas
Función sigue lineas.

 

– Esquiva objetos

La segunda aplicación autónoma constara de si detecta un objeto delante suya, automáticamente cambiara directamente de dirección, esquivando así dicho objeto o pared. Esto se va a conseguir mediante un sensor ultrasonidos que a través de la emisión de ondas ultrasonidos (Trigger) detectara si hay un objeto delante suya en el caso de reflejarse estas ondas de vuelta al sensor (Echo).

 

Resultado de imagen de ultrasonido electronica
Sensor ultrasonido.

 

Resultado de imagen de funcion ultrasonidos
Función esquiva objetos.

 

Aquí os dejamos un vídeo con la aplicación en funcionamiento.

 

 

–  Función manual ( aplicación)

Por último, esta la función manual, una aplicación de móvil desde la cual se manejara el robot a través del  bluetooth.

Esta aplicación constara de una serie de botones que aparecerán en la pantalla mediante la cual se dirigirá el robot hacia la dirección que desees. Los botones que nosotros hemos utilizado en nuestra aplicación son: conectar, adelante, atrás, izquierda y derecha. En la siguiente imagen se puede apreciar el diseño de la aplicación.

 

Aplicación móvil.

 

Aquí os dejamos en enlace de un vídeo con la aplicación en movimiento.

 

Para finalizar, esperamos que os haya gustado el diseño de nuestro robot y gracias por vuestra atención.

Enrique Marques Muñoz

Daniel Collado Bertomeu

 

Blitzcranko sama

Descripción

En este proyecto se propone realizar un robot propio, el cual sea capaz de realizar dos tareas autónomas así como una controlada por el usuario a través de una app en un teléfono Android. A diferencia de años anteriores, este año se ha apostado por el corte por láser para realizar la piezas que conformarán la estructura del robot (otros años se han construido los robots con piezas Lego).

En cuanto a la programación de éste se ha empleado la plataforma universalmente conocida Arduino, más concretamente la placa Arduino Nano (con procesador ATMega 168). Para facilitar las conexiones, ya que en el proyecto se manejarán numerosos sensores y actuadores, se  utiliza una shield de expansión “Deek-Robot”. De esta manera tendremos pines de alimentación y masa junto a cada pin digital o analógico.

Arduino Nano ATMega 168
Shield de expansión Deek-Robot

 

 

 

 

 

 

 

 

 

 

Diseño

El robot está formado principalmente por dos placas componiendo su estructura en forma de “L”, tal y como se puede apreciar en las imágenes. En la parte trasera de la base se han colocado los servomotores de las ruedas motrices, las cuales permiten el desplazamiento en línea recta del robot o giros en función de las velocidades configuradas. En la parte delantera de la base se han colocado los sensores infrarrojos, que se encargan de detectar si el robot se encuentra sobre una superficie blanca o negra (configurando los umbrales en el ambiente mediante método experimental) y, por último, una rueda loca, la cual nos proporciona un tercer punto de apoyo al robot, configurándolo con estructura triciclo.

En la parte frontal se ha colocado un Sonar en la parte superior, que se encarga de realizar una medición de la distancia a la que se encuentran los objetos frente al robot para que este pueda actuar en consecuencia. Además, también se ha añadido una matriz LED 8×8 que le permite mostrar emociones.

La estructura se ha cubierto mediante una carcasa, en cuyo interior se encuentra la placa Arduino, la fuente de alimentación, el módulo Bluetooth y un pequeño Buzzer.

 

 

 

 

 

 

Programación

La primera aplicación implementada para este robot ha sido la manual. Para realizar la aplicación se ha empleado AppInventor, el cual es un software online que nos permite realizar apps móviles de forma sencilla y gratuita. La aplicación creada consiste en una única pantalla con diferentes botones, que nos permite controlar el robot manualmente y activar las funciones autónomas, las cuales comentaremos posteriormente. El funcionamiento de esta app consiste en enviar un número en función del botón pulsado al módulo bluetooth conectado a la placa Arduino, esta recibirá los datos enviados y en función del número recibido realizará una acción determinada.

La primera función autónoma es la denominada “siguelineas”, en esta función el robot seguirá la trayectoria de una linea dibujada sobre una superficie blanca. Para realizar esta función el robot emplea dos sensores infrarrojos, de esta forma cuando los dos sensores se encuentren sobre la zona blanca el robot circulara en linea recta, sin embargo cuando uno d los sensores detecta que esta sobre la linea negra el robot girara para corregir su trayectoria.

La segunda función autónoma es la llamada “limpia objetos”, en esta función el robot buscará objetos y los sacará de la zona establecida. Para realizar esta tarea el robot emplea el sensor de ultrasonidos y los infrarrojos. El robot circulará por la zona establecida (superficie negra) buscando objetos, cuando detecte algo frente a el circulará en linea recta y empujará el objeto fuera de la zona, una vez que el robot detecte que está sobre la superficie blanca ya habrá sacado el objeto, y este se dará media vuelta para seguir buscando nuevos obstáculos.

A continuación se adjuntan unos enlaces del robot en funcionamiento:

Blitzcranko Sama 1

 

 

Blitzcranko Sama 2

Robot Chan k t

A continuación se explica el trabajo de la asignatura de Robótica Móvil (ETSID) en el curso 2015/2016.

Alumno: Alberto Barroso López

(más…)

Robot ISUINO

A continuación se explica el trabajo de la asignatura de Robótica Móvil (ETSID) en el curso 2015/2016.

Alumno: Adrián Jesús Fernández Guzmán

(más…)

Robots Zoidberg y Chuck Norris

A continuación se incluye un resumen del trabajo de la asignatura de Robótica Móvil (ETSID) en el curso 2015/2016.

Alumnos: Iván Torres y Adrián Castellanos

(más…)

Diseño, monitorización y control de un hexápodo con ROS.

En esta entrada se describe cómo hacer caminar a un robot hexápodo con ROS utilizando el paquete MoveIt!

(más…)

Proyecto hovercraft

Aprende a diseñar un hovercraft, un vehículo capaz de moverse en cualquier superficie gracias a su sistema de sustentación: propuestas, experimentos y materiales utilizados.

(más…)

Robot Miniskybot2

Esta entrada contiene información al respecto del proceso de impresión, montaje y programación del robot Miniskybot2.

(más…)

Robot Móvil con Arduino y Lego

Diseño de un robot móvil basado en Arduino compatible con piezas Lego.

(más…)

Sensor LDR para Arduino con soporte compatible con Lego

Diseño de un soporte compatible con Lego para una LDR para conectar a Arduino.

(más…)

Soporte con impresión 3D para motor pololu compatible con piezas LEGO

Descubre cómo hacer un soporte con impresión 3D para micro motor pololu compatible con piezas LEGO (bricks) para poder insertarlo en tu robot.

(más…)

ROFI, de bípedo a humanoide

Rofi es el ultimo robot desarrollado en Project Biped. Aquí convertimos a Rofi en un robot humanoide.

(más…)

Diseño de un robot oruga imprimible

Descubre cómo diseñar todas las piezas necesarias para montar un robot imprimible en 3D y del control electrónico.

(más…)

¿Cómo hacer caminar a un robot hexápodo con tres grados de libertad por pata?

Aprende a hacer caminar al robot hexápodo HF08 con tres grados de libertad por pata de forma sencilla con arduino y la controladora de motores Torobot.

(más…)

App Android para el control de un robot con el acelerómetro por bluetooth

Descubre cómo controlar los movimientos de un robot con el acelerómetro de tu Android utilizando AppInventor2 y bluetooth.

(más…)

Diseño de un circuito electrónico para el control de 8 servomotores y 2 motores de continua

Ejemplo de diseño de un circuito electrónico para el control de 8 servomotores y 2 motores de continua (mediante etapa de potencia externa) para controlar un manipulador móvil.

(más…)

¿Cómo hacer un sensor de infrarrojos con soporte imprimible compatible con piezas LEGO?

Descubre cómo hacer un sensor de infrarrojos CNY70 con un soporte compatible con piezas LEGO (bricks) para poder insertarlo en tu robot.

(más…)

¿Cómo hacer un sensor de ultrasonidos con soporte imprimible compatible con piezas LEGO?

Descubre cómo hacer un sensor de ultrasonidos HC-SR04 con un soporte compatible con piezas LEGO (bricks) para poder insertarlo en tu robot.

(más…)