Inicio » Aula » Robot K180 (掃除ロボット)

Robot K180 (掃除ロボット)

Robot K180 inspirado en KITT (de la serie ‘El coche fantástico’ o ‘Knight Rider’) con aspecto de robot aspirador.

#1. Características principales y diseño 3D

La robótica ha sido, desde mediados del siglo pasado, un campo que ha inspirado a las masas desde la ciencia ficción y que, además, ha bebido de esta en su constante desarrollo. Es por tanto fácil adivinar por qué la gente cree que es difícil iniciarse en ella o desarrollar sus propias ideas sobre adónde se debería dirigir. Pero esto NO ES necesariamente CIERTO.

Iniciarse en la robótica conlleva, eso sí, un poco de aprendizaje al principio, pero conforme se avanza se va descubriendo que puede acabar siendo un hobby no solo instructivo sino MUY GRATIFICANTE. No hay nada como observar tu pequeña (o gran) creación moverse sola por primera vez. Además, el desarrollo de robots se hace cada vez más asequible por la reducción de costes en electrónica y mecánica involucradas y existen miles de formas de iniciarse y toneladas de información en línea para aquellos que desean empezar.

En esta serie de entradas trataremos el desarrollo de un pequeño robot de tracción diferencial desde su fase conceptual, hasta su realización práctica, y demostraremos que cualquiera, incluido tú mismo, puede desarrollar nueva tecnología…

 

Imagen 3D de K180 (掃除ロボット)

 

Primer paso: ¿Qué hará el robot?

El primer paso consiste en la concepción teórica del proyecto, desde el qué va a hacer hasta el cómo será en términos generales. La inspiración primera para este robot viene, por una parte, de los robots de limpieza comunes. También hay influencias en lo estético de KITT (de la serie ‘El coche fantástico’ o ‘Knight Rider’) y de la película ‘2001: Una odisea en el espacio’.

La funcionalidad del robot será principalmente la de moverse y dar al usuario información sobre el entorno que lo ayudarán a tomar decisiones sobre dónde dirigir a este. Más concretamente el robot poseerá tres modos de funcionamiento más una funcionalidad adicional: la primera es una navegación autónoma, es decir, el robot será capaz de circular por su cuenta guiándose con sensores incorporados; la segunda será el guiado a través de la aplicación móvil con unos joysticks virtuales además de la activación de un escaneo 2D puntual, la medición en tiempo real de la distancia al objeto delantero más cercano y la capacidad de hablar y escuchar, y por último también será capaz de seguir una trayectoria indicada con unas líneas de cinta negra que conformarán un circuito cerrado. Cabe decir que aunque solo una de las funciones dependa directamente de un feedback del usuario con una aplicación móvil, todas ellas se activarán inicialmente usando esta.

Nos centraremos en hacer al robot cumplir todos estos requerimientos con el menor presupuesto posible y teniendo en cuenta una aproximación lo más simple posible.

 

Segundo paso: ¿Qué necesitará el robot?

Para determinar los materiales que conformarán al robot se requiere un análisis de las diferentes funciones que este cumplirá, siendo la más general el movimiento con tracción diferencial (esto es, con dos ruedas que pueden girar en los dos sentidos (hacia adelante y hacia atrás) y a diferentes velocidades. El uso de una impresora 3D será esencial para la creación de la estructura externa e interna a nivel mecánico y estético (usaremos plástico PLA). Además, utilizaremos un Arduino Micro como cerebro de la máquina debido a su reducido tamaño.

Con el fin de conseguir que el robot se pueda mover libremente, se implementarán servo motores de 5 kg/cm de par de torsión y de rotación continua. El uso de estos motores se debe a su barato coste, fácil y acertado control, y a su bajo requerimiento de potencia eléctrica (menos consumo). Además, poseen la fuerza y velocidad suficientes como para desplazar al robot de forma satisfactoria y de acorde con la idea que se tiene. Estos servos funcionan con una tensión de 5 V, por lo que, dado que las baterías suelen venir en formatos múltiplos de 3.7 V, la compra de un módulo de regulación del voltaje será necesaria. También se tendrá en cuenta que el dispositivo va a necesitar más que dos puntos de apoyo para no requerir estabilización dinámica con acelerómetros, por lo que vamos a utilizar ruedas de bola industriales como apoyos extra para la base.

Para la interfaz de comunicaciones con la aplicación móvil, el método más sencillo se basa en el uso de un módulo HC-05 de bluetooth. Una alternativa es el uso de dispositivos BLE pero, dado que estos ofrecen un alcance muy limitado, se descarta su uso en un principio.

Para la funcionalidad de navegación autónoma, el robot va a necesitar utilizar algún tipo de sensorización para evitar obstáculos y planificar una ruta. Para la detección de obstáculos en el entorno utilizaremos un sensor con una zona de detección puntual como la tiene el sensor láser VL53L0X. Dicho sensor es ideal para evitar el rebote en ciertos tipos de superficie como ocurre con el sonar HC-SR04. Cuando se detecte un obstáculo, el robot deberá hacer un barrido por la zona para ver cuál es la zona con obstáculos más lejanos, para lo que se necesitará un motor que mueva el sensor (un micro servo a 5 V), y girará hasta mirar en esa dirección, para lo que se estimará la posición con un acelerómetro-giróscopo (MPU6050). En caso de que se choque con un obstáculo, se deberá detectar esta colisión, para lo que se utilizará como sensor interruptores finales de carrera debido a la facilidad de activación que poseen.

En cuanto al manejo del robot desde la aplicación, no se necesitará hardware adicional, solo la adecuada programación tanto en móvil como en el propio dispositivo.

Finalmente, para el seguimiento de líneas se va a necesitar el uso de un sensor TCRT5000, que medirá la proporción de línea sobre un fondo blanco.

Aquí está la lista de materiales:

 

 

Plástico PLA
Ruedas de bola industriales
Neumáticos coche teledirigido
Tornillería variada
Arduino Micro
Módulo Bluetooth HC-05
Acelerómetro-giróscopo MPU6050
Sensor de distancia láser VL5310X
Interruptor final de carrera (x2)
Microservo (180 grados de rotación)
Servomotor rotación continua 5 kg/cm (x2)
LED formato SMD
Baterías litio 3.7V (x3)
Regulador de voltaje LM317
Interruptor de potencia RA1113112R
Cable USB

 

Tercer paso: Diseño 3D

Para el diseño 3D se va a tener en cuenta que se desea una forma general de robot de limpieza, esto es, una planta redonda. Debido al tamaño de los neumáticos que tenemos, para que el volumen del robot sea el mínimo vamos a desear poner las ruedas por fuera del robot, de modo que no tengan que caber en el interior necesariamente.

Una de las partes más fundamentales será el diseño de la sujeción de los motores para las ruedas. Para ello se toman medidas de los motores reales y se diseña un agarre que pueda asegurar un correcto margen de maniobra entre el final del eje del motor y la anchura del neumático bajo presión generada por el peso del propio robot.

Sujeción para los motores de la tracción

 

Para la detección de choques habrá que diseñar no solo unos parachoques como los que tienen los robots en los cuales se inspira este, sino también el mecanismo que permita su desplazamiento. Sin embargo, debido a que dicho mecanismo requeriría un espacio interior ligeramente superior al que se estima que habrá por la electrónica y cableado, se ha elegido una opción diferente: hacer los parachoques flexibles y colocar una estructura semirígida en su interior para que, por la flexión de la goma de los parachoques, esta estructura se incline a un lateral o al otro e, independientemente de a cual sea (y de este modo sea cual sea la dirección de la colisión), se desplace hacia atrás la palanca del interruptor final de carrera. Además los parachoques tendrán un punto de pivote a cada lado y un punto de apoyo más grueso en la parte central. Todo esto se puede observar en la siguiente imagen, en la que el parachoques puede apreciarse en negro, mientras que la estructura en blanco.

Sistema del parachoques delantero

 

En lo referente a las bases inferior y superior, cabe decir que por su tamaño, no pueden ser impresas como una sola pieza en el modelo Ender 3, por lo que se ha decidido dividirlas en dos y hacerlas partes estructurales. Ambas bases están ancladas a la sujeción de los motores con los mismos ejes que las unen entre ellas. A las partes asimétricas que forman la base superior habrá que ponerle un hueco para la cabida del motor que hará girar el sensor (este reposará en la superficie), así como otro hueco para poner el interruptor de encendido y un último que será la ranura por la que se verá la luz de estado del robot (irá cubierta con una pieza de metacrilato). El resultado se puede ver a continuación:

Vista de las partes asimétricas que forman la parte superior

 

La base de la parte inferior tendrá además una cavidad donde se aloja el cable para la actualización del software del robot y las 3 baterías que utiliza, así como una rendija donde irá el sensor para el seguimiento de líneas y las cavidades donde irán las ruedas de bola industriales:

Vista de las partes asimétricas de la parte inferior junto con la caja para la batería

 

Una de las partes más importantes es sin duda el diseño de una llanta que encaje bien con los neumáticos reales que ya se poseen. Por ello, se tomaron las diferentes medidas más importantes tanto del neumático como de los surcos que permiten a la llanta cogerse a este para diseñar una propia. El resultado se ve en la siguiente imagen:

Llanta del robot

 

Por último, habrá que añadir al mecanismo de giro del sensor (junto con el debido agarre para este) una cierta protección que además cumpla con una función estética:

Protección externa del sensor

 

A continuación se puede ver un vídeo resumen de todas las ideas expresadas arriba: