Resuelven un cubo de Rubik con un N95 y un kit de LEGO

Resuelven un cubo de Rubik con un N95 y un kit de LEGO




ARM ha subido hoy un simpático vídeo a su canal de YouTube que muestra cómo un Nokia N95 es capaz de resolver un cubo de Rubik de 4x4x4 con ayuda de un kit LEGO Mindstorm. El truco reside en utilizar la cámara del teléfono para capturar todas y cada una de las caras del puzzle, con objeto de identificar dónde se encuentra cada color con una aplicación en java. Acto seguido, el propio terminal envía la información con los movimientos necesarios al sistema de robótica a través de su Bluetooth. Una vez más, la ciencia pone a algunos humanos en ridículo, ¿te lo vas a perder? Tienes el impresionante vídeo justo tras el salto.




Fuente : http://www.elrincondelsymbian.com/F...ubo-de-rubik-con-un-n95-y-un-kit-de-lego.html
 
Última edición por un moderador:
JuanK_solocodigo dijo:
mmm bueno la verdad si es un algoritmo bien complejo...
lo ha intentado hacer?

Claro, mira: se detecta el marco (que no tiene ciencia porque el encuadre no varía), se divide bitmap (4x4, etc.), aplicas montecarlo en cada cuadrado de cada cara, sacas el promedio de cada componente RGB, conviertes de RGB a HSV, y luego comparas la componente H y ya puedes clasificar por color (con excepción del blanco y los grises, en donde ya tocaría mirar el nivel de la S).

Eso es pura estadística. No hay inteligencia por ningún lado. ;)
 
Claro, mira: se detecta el marco (que no tiene ciencia porque el encuadre no varía), se divide bitmap (4x4, etc.), aplicas montecarlo en cada cuadrado de cada cara, sacas el promedio de cada componente RGB, conviertes de RGB a HSV, y luego comparas la componente H y ya puedes clasificar por color (con excepción del blanco y los grises, en donde ya tocaría mirar el nivel de la S).

Eso es pura estadística. No hay inteligencia por ningún lado. ;)

asi suena muy faci....

se divide bitmap (4x4, etc.),
No funcionaria porque incluso el más minimo milimetro de diferencia te puede correr los cuadros de manera incorrecta.

aplicas montecarlo en cada cuadrado de cada cara, sacas el promedio de cada componente RGB, conviertes de RGB a HSV, y luego comparas la componente H y ya puedes clasificar por color (con excepción del blanco y los grises, en donde ya tocaría mirar el nivel de la S).

Acá también suena muy fácil hasta que te das cuenta que no todos los cubos tienen los mismos colores en las mismas tonalidades, por lo cual comparar H no es muy sencillo puedes puedes llegar a encontrar un anaranjado con un H muy diferente de otro, es más puede que las condiciones de la luz al momento de cambiar la imagen cambien el H de manera dramática, y ni hablar de las diferentes tonalidades determinadas por la sensibilidad de los lentes, que incluso siendo de un mismo modelo de celular pueden variar.

Eso es pura estadística. No hay inteligencia por ningún lado.

en eso si estoy de acuerdo, no es un sistema que realice la logica del cubo de manera inteligente sino solo emplea un algoritmo, el tema que realmente si estoy en desacuerdo es en la interpretacion de la imagen ya que dudo que simplemente se hayan dedicado a utilizar formulas estaticas para detectar colores y dudo que simplemente haya sido partir un birmap en cuadros mas pequeños....

yo apunto a que deben de haber utilizado algun algoritmo de lógica difusa para esos dos temas, al menos para el del color, para detectar los cuadros de seguro utilizaron los algoritmos tradicionales de deteccion de bordes con uno de deteccion de esquinas para lograr trazar de manera correcta el plano. Probablemente hasta hayan utilizado una lilbreria ya construida para tal fin.... ya que dejémonos de vainas, cualquiera de los casos:

detectar cuadrados
detectar colores con logica difusa

implica mucho mayor esfuerzo que implementar el algoritmo del cubo de rubik.
 
excelente combinación un lego technic y un n95, yo opino que para lo que se debió utilizar algo de inteligencia artificial (reconocimiento de patrones) fue para la interpretación de la imagen lo demás es un simple algoritmo
 
No funcionaria porque incluso el más minimo milimetro de diferencia te puede correr los cuadros de manera incorrecta.
Lo ha intentado hacer?

Es inherente, y además, no he visto un sólo cubo Rubik en donde no se note la diferencia entre cuadro y cuadro, con bordes gruesos de color negro.

Acá también suena muy fácil hasta que te das cuenta que no todos los cubos tienen los mismos colores en las mismas tonalidades, por lo cual comparar H no es muy sencillo puedes puedes llegar a encontrar un anaranjado con un H muy diferente de otro, es más puede que las condiciones de la luz al momento de cambiar la imagen cambien el H de manera dramática, y ni hablar de las diferentes tonalidades determinadas por la sensibilidad de los lentes, que incluso siendo de un mismo modelo de celular pueden variar.
Puedes poner "durazno" o "aguacate" si quieres. Eso no importa. Lo que importa es que son 6 colores diferentes.

Ahora, remítete al caso particular. Esto no se trata de identificar rostros en una terminal. Las fotos no las está tomando Muhammad Ali con una webcam de hace 10 años. :S

en eso si estoy de acuerdo, no es un sistema que realice la logica del cubo de manera inteligente sino solo emplea un algoritmo, el tema que realmente si estoy en desacuerdo es en la interpretacion de la imagen ya que dudo que simplemente se hayan dedicado a utilizar formulas estaticas para detectar colores y dudo que simplemente haya sido partir un birmap en cuadros mas pequeños....
Ni yo trabajé en ése proyecto, ni estoy intentando adivinar qué fue lo que hicieron. Es más, ni siquiera estoy diciendo que el algoritmo que mencioné sea mejor que cualquier cosa que ellos hayan usado.
 
1. para lo que a mayor tecnologia mas desempleo. No neccesariamente , los paises con ams tecnologias las tasas de desempleo son rebajas, piensese en japon .

2. me puse a pensar en el algoritmo y no veo como hacen, muy bonito
 
huyy todo es de admirar tanto el robot como el algoritmo que usan para programar la aplicacion del celular....
 
mmm bueno la verdad si es un algoritmo bien complejo...
lo ha intentado hacer?

Te refieres al que detecta las imágenes? Yo lo hice alguna vez en Matlab pa' detectar la ruta mas corta entre 2 puntos con obstáculos y la salida de un laberinto, pero... ya ni me acuerdo cómo :p (No se conectaba una cámara como tal, si no algo que parecía mas una matriz de muchos fotosensores). Y si lo hace alguien como yo, fijo lo hace cualquiera con conocimientos medios en el tema. La info de la ubicación de los colores la pasa a una matriz y el resto lo hace el algoritmo del cubo. ¿De casualidad alguien sabe dónde se encuentra éste?

El que lo haya resuelto el N95 no es asombroso (Igual no fué éste el que lo hizo o si?), de hecho con la velocidad de procesamiento de un 1100 también se hubiera podido hacer sin retrasos en la solución del cubo. Esos bichos tienen potencia de sobra para manejar el algoritmo y esperar a que el robot gire la cara, etc. De lejos es muchísimo mas interesante el algoritmo que detecta caras y sonrisas en una cámara fotográfica que el de la detección de los colores en el cubo.

Lo del N95 + Lego en la noticia creo que va mas por el lado curioso que por la parte de "gran avance" de la ciencia :p
 
TANTO ESCANDALO POR UN VIDEO FALSO????? EDITADO CORTADO MEJOR DICHO, claro como aqui solo escriben desarrolladores e ingenieros que no tienen idea de una interfaz grafica, perdon no tienen idea de combinar colores solo de crearlos!!!.

video editado y reditado al ojo de cualquier cineasta o videografo.

saludos
 
TANTO ESCANDALO POR UN VIDEO FALSO????? EDITADO CORTADO MEJOR DICHO, claro como aqui solo escriben desarrolladores e ingenieros que no tienen idea de una interfaz grafica, perdon no tienen idea de combinar colores solo de crearlos!!!.

video editado y reditado al ojo de cualquier cineasta o videografo.

saludos

mmmm

y?
 
A ver, entonces ilumínanos. Que el video esté editado no significa que el hecho en cuestión sea falso.
Escrito desde www.LANeros.mobi (Mozilla/5.0 (SymbianOS/9.3; U; Series60/3.2 NokiaE75-1/110.48.125 Profile/MIDP-2.1 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413)
 
Si te fijas la aplicacion del iphone resolvió un cubo de 3x3x3 mientras que el nokia resolvio uno de 4x4x4... Nokia wins!!!
una profunda, inteligentisima e imparcial conclusion...
osea que si el app cubecheater la actualizan para resolver un cubo de 5x5x5 apple WINS?
y si el app la sacan para ambos apple y nokia, entonces que? -GAME OVER

omme lo siento pero eso no es noticia! :confused:
el Lego mindstorm se ha usado para resolver ese cubo desde hace unos 4 o 5 años! =)

entiendo que les parezca interesante porque en el video aparece un nokia n95... (FANBOYS!)
pero cual es la gracia?
igual el primer nokia con bluetooth + camara, podria hacer exactamente lo mismo.
Pues demostrar que las técnicas de algoritmos para la programación de máquinas se pueden refinar y optimizar tan bien como para que un simple celular resuelva un problema que le da duro a más de un ser humano.
pues para comenzar el N95 no es "un simple celular" es toda una computadora...
a diferencia de los humanos,
para cualquier computadora es posible recordar,
todas las caras, y todos los movimientos pasados...
y probar hacia adelante futuros movimientos...

el problema de rubik es mas computacional que humano, osea que es mas manejable para las computadoras
ahora inteligencia artificial hacia tareas como: reconocimiento de voz, reconocimiento de caras, reconocimientos de expresiones en la voz y en las caras, ya eso es otra cosa, mucho mas manejables para los humanos que para las computadoras!
El algoritmo DEBE SER DEMENCIAL.
copy y paste?
que tiene de demencial copiar un algoritmo y pegarlo?
los algoritmos para resolver el cubo, ya estan desde que existio el cubo
que yo sepa desde años no ha surgido ningun algoritmo nuevo,
u si sale lo hara un matematico, no un ing de sistemas en symbian, o java.
si ven el app del iphone, ahora esta gratis, porque el "creador" del programa estaba usando un algoritmo ajeno!
El mejor algoritmo actual en un ordenador de hace 30 años es más rápido que el mejor algoritmo de hace 30 años en un ordenador actual.
donde esta el algoritmo "actual"?
Increible. Lo mas curioso del post, aparte del algoritmo que aca los laneros mencionan, es que hayan elegido un kit lego como parte del robot que resuelve el cubo.
pues para el mundo lego no tiene nada de curioso.
No sabia que el Lego Mindstorm fuese tan ignorado por aca...
Increíble quiero un lego mindstorm jejeje (los juguetes de los culicagados de ahora).
el Lego Mindstorms no es de ahora, yo lo tuve hace añales...
aunque al principio fue un exito, en Japon salieron con la moda del Robo One, y le quitaron muchisimo al Lego.
Aunque son mucho mas dificiles de conseguir... el Robo One es algo impresionante!
practicamente hay que pedirlos de japon
Estamos hablando de ARM11's. Lo raro sería que no pudieran.
:p si no manejan el ARM11 paila, el cpu no se programa solo .
eso no tiene nada que ver con el procesador, ni con el modelo de celular, seguro que NO esta programado en assembler,
sino mas bien en symbian o java, osea que
con pequeñas modificaciones de compatibilidad correria en cualquier celular con hardware similar (osea con symbian, bluetooth y camara), simplemente seria imperceptiblemente mas lento.
mmm bueno la verdad si es un algoritmo bien complejo...
lo ha intentado hacer?
lo realmente interesante es la forma de alimentar el algoritmo, uno generlamente describe el problema con una estructura de datos casi siempre una matriz; pero el alimentarlo con imagenes, es otro cuento debe haver un parte del algoritmo que transforme las imagenes en una estructura de datos computable para luego resolver el problema, esa transformacion es en mi opinion lo mas notable del asunto.
:cansado: osea que lo asombroso es que se reconoce el patron de cuadrados 4x4...
luego se reconocen los colores...
y...
BAZINGA! "TRANSFORMAR" los datos y meterlos en una matriz???

eso que tiene de asombroso?:confused::confused:
1. el celular y el cubo estan claramente FIJOS, osea que no hay que reconocer el patron, ni la ubicacion, porque YA SABES DONDE ESTAN LOS CUADRADOS. sabes en cuales pixels esta la informacion.
2. la iluminacion y los colores de las caras son FIJOS, osea que los rangos en los que se encuentran los colores TAMBIEN SE CONOCEN previamente...
como dicen aqui:
No hay inteligencia por ningún lado. ;)
que cuca, es algo totalmente inutil, pero combina varias cositas divertidas, la vision artificial, el lego...
NO CREO que esto califique en el concepto de "VISION ARTIFICIAL", tal vez "sensado de colores".

meh!

las demas ramas del conocimiento como la matematica, la fisica , etc etc han progresado bastante y con ellos métodos más rápidos y efectivos para hacer las tareas.
fuera de inutilizar passwords y encriptaciones viejas, en que le han cambiado la vida los ultimos avances de las matematicas???
 
Lo sorprendente no es que lo resuelva, me parece que es, como lo dijo alguien atrás, la forma en tomar los datos. Bueno, tampoco tanto ya que es una imagen muy bien definida y los colores de contrastes altos. O sea, no hay algo sorprendente. :D
 
omme lo siento pero eso no es noticia! :confused:
el Lego mindstorm se ha usado para resolver ese cubo desde hace unos 4 o 5 años! =)

entiendo que les parezca interesante porque en el video aparece un nokia n95...
pero cual es la gracia?

el lego por si solo no hace nada... son solo partes...
deben ser comandadas por puerto serial... a traves de un dispositivo de computo....

esta vez un N95, pero pudo haber sido una PC, un IPOD o incluso algunos MP3 con puerto bluetoth lo hubieran podido hacer poniendolos en las manos de alquien que conozca del tema.


lo del N95 es mas publicdad e incluso oportunidad de negocios en algunos sectores industriales.
 
que cuca, es algo totalmente inutil, pero combina varias cositas divertidas, la vision artificial, el lego, rubik un cellular que a nadie le gusta por grande y fofo, :p muy elegante, aunque el algoritmo de solucion para el cubo de rubik no es ni raro ni dificil hoy en dia, y digo hoy en dia. el cubo de rubik se puede resolver en menos de 30 segundos yo como tengo dedos torpes lo hago en 1 minuto el de 3x3 el de 4x4 es la misma bobada solo que hay que darle mas vueltas. muy desparchado el que se sento a hacer eso, pero igual inutilmente divertido, y en comparacion mas breve este pelaito con el de 4x4

http://www.metacafe.com/watch/2684584/4x4_solve_in_58_56/

Ahhh pues, tendré que subir un video mio resolviendo el soduku que sale en el colombiano :p:p

hay gente q lo resuelve en 1 minuto
Pero hay mucha mas gente que lleva años sin poderlo resolver, como yo con mi Masterball (el rubik pero que era una bola que se puso muy de moda una sola navidad hace como 8 años) que siempre me queda dos colores por trocar y no he podido :muerto:

TANTO ESCANDALO POR UN VIDEO FALSO????? EDITADO CORTADO MEJOR DICHO, claro como aqui solo escriben desarrolladores e ingenieros que no tienen idea de una interfaz grafica, perdon no tienen idea de combinar colores solo de crearlos!!!.

video editado y reditado al ojo de cualquier cineasta o videografo.

saludos

Ehhhhhh..... creo que antes de venir a decirnos que es una interfaz gráfica, recuerda que nosotros ya sabíamos que era eso antes de que TU vieras un computador y dijeras "ve.... será que estudio diseño grafico?".

Y su ojo de "cineasta" o "videografo" te sirve de cu·$% porque todos nosotros ya vimos que está editado. Obvio que está editado, es que crees que nos interesa ver a ese robot girando un cubo 20 o 30 minutos?
 
el lego por si solo no hace nada... son solo partes...
deben ser comandadas por puerto serial... a traves de un dispositivo de computo....
El "brick" del lego tiene
un ARM7 a 48Mhz con su JTAG, flash y su ram, ,
un AVR a 8Mhz con su JTAG, flash y su ram,
bluetooth, usb 2.0
pantalla LCD, teclado ...
y corre, entre otros, java...
es compatible con , entre otros, LABView... MatLab...
y tiene entre otros sensores, uno que diferencia colores...
osea que el lego "POR SI SOLO" puede hacerlo sin el nokia.

ese video mas bien parece una propaganda de ARM
en la pagina tienen el link del video
deben ser comandadas por puerto serial
aunque el bluetooth tiene perfiles para emular un puerto serial...
no es un puerto serial.
 
El "brick" del lego tiene
un ARM7 a 48Mhz con su JTAG, flash y su ram, ,
un AVR a 8Mhz con su AVR , flash y su ram,
bluetooth, usb 2.0
pantalla LCD, teclado ...
a ver... te contare un poco mas de los robots de LEGO:

solo partes, y eso inlcuye a los dispositivos, como los que has mencionado o la propia camara de LEGO...

los procesadores que dices son parte de la controlador*--- desde luego necesita una controladora --*... es logico y el bluetooth es el que hace las veces de puerto serial que como bien he dicho también puede ser infrarrojo,

y bueno has resaltado el DEBEN... y es cierto no necesariamente porque una vez ya tienes el software creado y probado puedes enviarselo al EEPROM del Robot desde que lo hayas hecho con lab view (que genera el formato exe que entiende la controladora) entonces desde lab view cargas el archivo en el eprom,
luego desde la controladora ( que tiene pantalla integrada) seleccionas que programa quieres correr y listo.

Pero eso es si se programas en nativo desde el Lab View, si usas java o .net o demas cosas, requeriras el firmware con el j2me o el .net compact framework.... y sino hay con que (tanto economicamente como tecnologicamente hablando)... pues definitivamente desde cualquier tecnologia serial es lo mas viable con eso no tienes que limitarte a solo 'programar ' desde el lab view (que es donde se programa desde windows).


ahh y me acabo de enterar que la API de lego puede reconocer figuras basicas y colores ( no se si necesariamente a traves de al camara de lego )
 
a ver... te contare un poco mas de los robots de LEGO:
:confused: :confused:
, yo lo tuve hace añales...
:cansado: :cansado:
el lab view (que es donde se programa desde windows).
asi como usted es un duro en micro$oft y sabe mas que muchos de redes y servidores...
creo que es muy posible
que un ingeniero electronico sepa mas de LabView, Matlab, ARM, assembler y Lego Mindstorms (en muchas universidades los utilizan todos los anteriores)
 
:confused: :confused:
:cansado: :cansado:

asi como usted es un duro en micro$oft y sabe mas que muchos de redes y servidores...
creo que es muy posible
que un ingeniero electronico sepa mas de LabView, Matlab, ARM, assembler y Lego Mindstorms (en muchas universidades los utilizan todos los anteriores)

Totalmente de acuerdo, pero entonces si era mejor hacer la aclaración que hice porque los Robots Lego de ahora tal vez sean diferentes a los que conociste.

Eso si Nunca he tenido uno pero un amigo se la pasa con eso todo el tiempo.
 

Los últimos temas