Resolver el cubo de Rubik...¡haciendo un robot de LEGO!

Sin duda alguna resolver el cubo de Rubik es un reto importante para cualquiera, pero ser capaz de diseñar y montar un robot de LEGO que sea capaz de resolverlo por sí solo… ¡es un reto aún mayor! En este blog ya hemos visto algún ejemplo de este tipo de robots (recordemos el famoso Cuberstormer), pero en esta entrada queremos hacer un pequeño repaso conceptual del problema en cuestión y ver algunos ejemplos de cómo se ha llevado a cabo.

Ejemplo de robot de LEGO. Tomado de robotics.benedettelli.com
Ejemplo de robot de LEGO. Tomado de robotics.benedettelli.com

Basándonos en la interesante entrada del blog de electrickBricks vamos a explicar el “core” del problema. A grandes rasgos podemos decir que puede descomponerse en 3 partes claramente diferenciadas:

  • Reconocimiento del cubo para extraer el posicionamiento inicial de cada una de las pegatinas de cada una de las caras. El estudio de la configuración inicial puede realizarse mediante una cámara con un software de reconocimiento de imágenes, o bien con un sensor de luminosidad o color.
  • Partiendo de la posición inicial, aplicar los algoritmos de resolución correspondientes para que se pueda realizar la correcta secuencia de movimientos.
  • Ejecución física de los movimientos extraídos anteriormente para poder resolver el cubo, para lo cual tenemos que idear la forma de hacer rotar el cubo 90º en dos ejes perpendiculares, además de poder girar una cara respecto al resto del cubo.

A continuación os ponemos algunos ejemplos de robots de LEGO resolvedores del cubo de Rubik con algunas de sus características técnicas más destacables:

Uno de los primeros modelos fue el realizado por JP Brown, para el cual necesitó:

  • 2 unidades RCX (uno de los primeros “ladrillos inteligentes” de LEGO Mindstorm).
  • 1 cámara Vision Command.
  • 5 motores.

Se trata de un robot algo lento, además de no ser 100% autónomo (requiere de un PC externo que ejecute el programa de reconocimiento de imágenes), pero sin duda es de gran interés debido a su pionera funcionalidad.


El siguiente modelo fue creado por Daniele Benedettelli con la tecnología NXT (la segunda generación de “ladrillos inteligentes” de LEGO Mindstorm). Este sistema emplea:

  • 1 NXT.
  • 3 motores.
  • 1 sensor de luz para detectar la posición inicial de la base giratoria.
  • 2 sensores de contacto que detectan el límite de carrera del movimiento de los brazos.

 

El algoritmo usado por Daniele es bastante eficaz, ya que su tiempo de resolución es de 1 minuto como máximo. Todo ello realizado mediante un software de desarrollo propio.


Otro interesante modelo fue el desarrollado por Han Anderson. Este robot tiene el valor añadido de ser el primero completamente autónomo, ya que no requiere de un PC externo.

  • 1 NXT.
  • 1 sensor de ultrasonidos para detectar la presencia del cubo e iniciar el procesado.
  • 1 sensor de luz que realiza el muestreo de los colores.
  • 1 sensor táctil para detectar el fin de carrera del motor que posiciona el sensor de luz.
  • 3 motores: 2 para mover el cubo y el tercero para posicionar el sensor de luminosidad.


En la red podemos encontrar muchos más ejemplos de este tipo de creaciones que periódicamente iremos comentando en este blog. Además, en Ibero Rubik estamos trabajando para poder realizar un robot de LEGO con nuestro propio diseño... ¡Os mantendremos informados de cualquier novedad al respecto!

Escribir comentario

Comentarios: 0