lunes, junio 24, 2019

RUBIKA: Un sistema Anti-Rubber Hose basado en un cubo de Rubik (Parte 2 de 5)

Con el surgimiento de la idea original de RUBIKA, dimos muchas vueltas. Desde hacer un Cryptex con forma de Cubo de Rubik que almacenara un Token OAuth que solo se liberase para autenticar una cuenta cuando se hubiera resuelto por la persona correcta, hasta usarlo como un Segundo (o Tercer) Factor de Autenticación (2FA). En cualquier caso, lo que estaba claro es que necesitábamos un Cubo de Rubik de un tamaño especial para poder meterle la electrónica que queríamos.

Figura 14: RUBIKA: Un sistema Anti-Rubber Hose basado en un cubo de Rubik (Parte 2 de 5)

El proceso de construcción del Cubo de Rubik tuvo varias fases, y fuimos evolucionando el diseño. Mola mucho ver las fotografías de todo el proceso, que nos llevó de un proceso artesanal a tener que acabar trabajando - después de los prototipos iniciales - con una empresa profesional.

El Pre-Prototipo de Cubo de Rubik en 3D

Antes de comenzar a trabajar en la construcción del Cubo de Rubik impreso en 3D necesitábamos probar si la electrónica era viable o no, así que lo primero que se hizo, para conseguir ver cómo podíamos medir los giros, qué componentes necesitábamos para el hardware y cuántos grados de libertad eran necesarios a la hora de hacer las matemáticas adecuadas para saber cómo y de qué manera se estaba moviendo el cubo.

Figura 15: Un Cubo de Rubik desmontado en la mesa de entrenamiento

Así que lo primero que se hizo fue desmontar un Cubo de Rubik y ponerlo en una mesa de entrenamiento para moverlo manualmente y captura información de los movimientos en un microcontrolador que pudiera servirnos de base para controlar el sistema completo. Al final, como veremos más adelante, el micro elegido fue un Atmel Tiny1634R, pero de momento

Impresión en 3D del primer prototipo de Cubo de Rubik

He de decir, que pensamos que éste iba a ser un proceso sencillo. Es decir, buscar alguna plantilla de Cubo de Rubik en 3D, que seguro que había, escalarla al tamaño adecuado, y darle caña a la Impresora 3D que tenemos en la planta tercera del edificio. Pero no fue tan sencillo. Este es un tutorial de los varios que puedes encontrar que cuenta cómo se debe construir un Cubo de Rubik impreso en 3D.


Figura 16: Cómo imprimir un Cubo de Rubik con una impresora 3D

Así que comenzamos a construir las partes necesarias para hacer, primero el núcleo del cubo, y luego las esquinas del mismo. Y el resultado fue muy peculiar. Parecía mucho más fácil al principio, pero poco a poco fuimos consiguiendo una primera versión de nuestro cubo de Rubik, tal y como podéis ver en las imágenes siguientes.

Figura 17: Estructura de las piezas centrales de las caras.

Como se ve, las seis piezas centrales del núcleo son iguales, así que comenzamos por ellas, que además son las que deberían llevar toda la electrónica. El resto de las piezas no son tan importantes, ya que solo giran esas seis piezas, por lo que había que dedicarle más cariño.

Figura 18: Nucleo central del cubo de Rubik impreso en 3D
Ahora ya se podía ir construyendo el cubo cara a cara. Como podéis ver en los cambios de colores, hubo que repetir muchas veces algunas de las piezas, porque no encajaban bien, se movían demasiado o simplemente no tenían la calidad adecuada.

Figura 19: Construcción de la primera cara del cubo con el núcleo

Y a medida que crecía, había que ir haciendo y rehaciendo las piezas para que encajaran de las mejores de las maneras. No fue fácil, como os he dicho ya anteriormente.

Figura 20: Montando el cubo pieza a pieza

Aquí tenemos una foto de todas las piezas puestas una sobre otra, pero el núcleo fuera. Como se ve, tiene la forma del Cubo de Rubik, pero tiene mucho trabajo aún por hacer.

Figura 21: Todas las piezas montadas y el núcleo fuera

Y aquí el primer prototipo de esta versión montado para poder trabajar. Os garantizo que mover ese Cubo de Rubik era un auténtico reto para que no se te deshiciera en las manos. Grandote, con movimientos imperfectos, y frágil. Pero aún así, he de decir que era funcional.

Figura 22: Primer prototipo funcional del Cubo de Rubik impreso en 3D

Como podéis ver, no habíamos tenido en cuenta la carga de la electrónica, así que teníamos que desmontar el cubo cada vez que necesitábamos recargar las pilas, y además no iba lo fino suficiente como para poder sacar datos de aquellos que estaban acostumbrados a manejar el Cubo de Rubik tradicional.

Figura 23: Pruebas con otras piezas para buscar mejores encajes en las piezas y movimientos más fluidos

Como se puede ver, hicimos muchas pruebas, con muchos colores para reconocer las piezas, buscando mejores acoples, y también añadiendo soluciones para que el movimiento fuera más fluido, como añadir algunos imanes entre las piezas para hacer que se atrajeran a determinados estados.

Primera captura de datos

Incluso con esta versión primigenia de nuestro RUBIKA, ya podíamos empezar a capturar datos que procesabamos en back-end para poder generar los algoritmos de Machine Learning, donde conseguimos sacar las primeras conclusiones.


Figura 24: Capturando datos del primer prototipo

Pero aún debíamos mejorar esto mucho más, así que decidimos ir a por un diseño mucho más profesional y a capturar datos que de verdad nos sirvieran para poder generar los algoritmos adecuados al proceso.

Saludos Malignos!

No hay comentarios:

Publicar un comentario