Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:
Aunque estoy bastante liado he encontrado unas horas libres para comenzar este proyecto, creo que sería de mucha utilidad para todos, pero me falta tiempo ¿alguien se apunta?
He modificado un router linksys WRT54GL V1.1 (4Mb de flash, procesador MIPS 200Mhz, 16Mb RAM DDR, switch 4 puertos ethernet 100 Mb, wireless 54Mb) para añadirle:
2 puertos serie RS232 (uno como consola de programación y el otro libre.
Ampliación de memoria a 32Mb DDR (usando un chip de reciclaje).
Soporte para memorias SD (probado hasta 1G, mucho espacio para programas de usuario o datos!!).
Linux kernel 2.4 OpenWRT 7.09
El equipo suele costar unos 70 Euros, visto lo que tiene es muy interesante para usarlo como cerebro de un robot, con el linux podría hacer incluso reconocimiento de imágenes (con cámaras IP).
Solo me queda poner entradas salidas discretas y analógicas por I2C.
Me falta tiempo para documentarlo y hacer un pototipo de robot que use este cerebro de 200Mhz y conectividad wireless 54Mb!!!
Lo que he dicho es que lo que se puede hacer con imágenes es sumamente básico, no he dicho que no se pueda hacer. Incluso hoy en día, muchos ordenadores de sobremesa antiguos no sirven para trabajar en tiempo real con imágenes.
Por otro lado, el tiempo que se tarda en adquirir la imagen, comparado con el tiempo que se tarda en procesarla es prácticamente nulo, sobre todo trabajando con DMA. Así que, lo de que sea cámara IP dudo que ayude a trabajar más rápido.
luisj, la CMUcam lleva un SX (un PIC avanzado) y procesa a 17 fps. La CMUcam 3 lleva un LPC2106 y procesa a 26fps una resolución de 352x288 (reloj a 60MHz) y es capaz de seguir una cara.
Que muchos PC antiguos no puedan trabajar con imagenes en tiempo real depende más de las capas y capas de programas que comparten tiempo de CPU (sobre todo Windows) que de la frecuencia del reloj. Tú pon un PC (sin sistema operativo) programado directamente en ensamblador a trabajar con una webcam y verás como responde de rápido.
S2
Ranganok Schahzaman
Como decía, no creo que en un MIPS de propósito general a 200MHz se puedan ejecutar algoritmos de visión complejos:
1.- Dije complejos, y los clasificadores que usan cascadas de Haar no es que sean muy complejos. Además, dan un montón de falsos positivos.
2.- Dije en ese procesador, suponiendo que no tenga instrucciones multimedia. Como puedes ver en este |pp=[v=d,t=pip,i=LPC2104_2105_2106_6,fi=45994,ps=0][0]]enlace, el procesador que lleva la CMUCam3 sí lleva ese tipo de instrucciones.
Yo no estoy muy familiarizado con los micros "grandes" ya que suelo trabajar con sistemas embebidos sin sistema operativo, pero es cierto que el rendimiento baja muchísimo cuando hay un Sistema Operativo corriendo multitud de procesos. A ventaja de usar un SO es la portabilidad, comodidad para el programador, facilidad de depuración etc.
Como detalle puedo decir que mi Treo 600 (palm OS) a 144 Mhz corre más que la HP6515 (Windows Mobile) a 312 Mhz lo que indica lo importante que es el SO en el rendimiento.
En cuanto al WRT54GL, como no tengo mucha experiencia programando en Linux sistemas embebidos, quizás la idea de proceso de imágenes fue un poco exagerada, pero es cuestión de probarlo.
He colgado las modificaciones que he hecho en uno de mis WRT54GL (tengo una estantería llena de routers averiados, a ver si los voy reviviendo y publico mas cosas): http://heli.xbot.es/Wrt54GL/Wrt54GL.htm
Ahora solo me falta programar algo dentro y ver como funciona (el "hello word" ya lo he hecho pero no tiene nada de emocionante)...
Heli, impresionante!
Y tu página también. Esas preguntas siempre me las he hecho, pero con mis escasos conocimientos de hardware y electrónica nunca había podido resolverlas 🙂