los blogs de Canarias7

Archivos Julio 2008

Nos encontramos en un punto muerto ya que no hemos logrado conectar correctamente el mando de la wii al PC y, al mismo tiempo, el NXT a éste último.

Estamos usando los drivers de Windows, Bluesoleil y Widcomm. Además, hemos estado trabajando en dos sistemas operativos diferentes: Windows XP y Windows Vista.

El primer paso fue probar la conexión entre Wiiremote y PC que se realiza fácilmente usando un pequeño programita llamado GlobePie que permite asociar cada botón del mando de Nintendo a cualquier pulsación de teclado o, incluso, a los botones del ratón. Además, nos fabricamos una pequeña barra emisora de infrarrojos (en sucesivas entradas daremos las instrucciones para su elaboración) y convertimos el mando Wii en el ratón de nuestro ordenador.

Lo siguiente que hicimos fue coenctar independientemente el NXT al ordenador mediante Bluesoleil también, pero vimos que era imposible con estos drivers. Así que decidimos desisntalarlos por completo y usar los de Windows XP. Mediante el procedimiento de reconocimiento de dispositivos Bluetooth de dicho sistema operativo, no tuvimos problemas apra que nuestro robot y el ordeandor se comunicasen.


Para probar esta comunicación, nos creamos un programa que nos permitía manejar remotamente (mediante el teclado) los movimientos del NXT y vimos que funcionaba. Debido a estos éxitos individuales, pasamos a una nueva dimensión del proyecto.


Se nos ocurrió comunicar el mando con el ordenador usando el bluesoleil pero manteniendo la conexión bluetooth del NXT que habíamos activado. Nos dimos cuenta de que es imposible tener activados dos drivers distintos para dispositivos Bluetooth en Windows XP ya que se pisan entre ellos y en el mejor de los casos, sólo logramos que uno de ellos funcione.

Así que realizamos todas las combinaciones posibles que se nos ocurrían:
- NXT y Wiimote con drivers de Windows
- NXT y Wiimote con bluesoleil
- NXT por bluesoleil y Wiimote por Windows
- Algunas otras pruebas que tampoco sirvieron...

Como somos unos chicos a los que no les gusta estar ociosos, no nos dimos por vencidos y comenzamos una nueva investigación recorriendo decenas de páginas webs sobre conexiones bluetooth, NXT, Lego Mindstorms, Wiimote, ... por las que creo que deberían darnos alguna calse de certificado Googleseekers o algo así xD

Bromas a parte, encontramos unos drivers que no habíamos utilizado y que supuetamente solventarían todos nuestros problemas. Pero nada más lejos de la realidad, pues la instalación de Widcomm implicaba los mismos problemas que habíamos tenido añadiendo además, la complejidad de la instalación de éstos.

Y hasta aquí hemos llegado en nuestros avances, esperamos que mañana logremos instalar bien el Widcomm y comunicar vía bluetooth tanto al NXT como al mando de la Wii con el PC.

Mientras tanto hemos avanzado en el diseño de nuestro nuevo robot del que pueden ver una foto de su nuevo aspecto a continuación,

Se observa que hemos optado por una estructura mucho más atractiva y además, hemos creado un innovador sistema de dirección que podrá ser visto en funcionamiento en los próximos días.

No se pierdan nuestras próximas entradas pues tendrán información privilegiada sobre nuestro proyecto!

Hoy hemos logrado controlar a nuestro nuevo amigo mediante conexión Bluetooth. Ha sido un paso importante para la consecución de nuestro principal objetivo que no es otro que controlar al NXT con el mando de Wii.

Principalmente lo que hemos hecho ha sido un pequeño programa de control de movimiento manejado por el teclado.

Sentimos no tener material visual para enseñarles pero aún estamos con la programación y las pruebitas típicas de los primeros días :P

Mañana tenemos la reunión con los profesores de la asignatura de Biocibernética Computacional para determinar finalmente los objetivos del proyecto y mostrar todo aquello que hemos conseguido hacer, así como presentar nuestro informe de viabilidad.

Además intentaremos ya tener un segundo contacto con la conexión bluetooth añadiendo el Wiimote para una mayor complejidad ;)

Parece que será un día entretenido!!

Saludos!

Bueno ya está aquí el momento de presentar a nuestro nuevo amigo Wiibot. Para este nuevo proyecto hemos estado realizando investigaciones y estudiando las posibilidades de viabilidad. Se trata de hacer un robot con Lego Mindstorms y NXT y controlarlo con el mando de la Wii (Wiimote).

Aún estamos en ese campo de investigación, pero ya hemos empezado a hacer diseños para nuestro nuevo robot como vemos en la siguiente foto,

Pero ya le hemos encontrado ciertos problemas a este diseño ya que el eje trasero no permite realizar giros al robot. Por lo tanto, seguiremos probando nuevos modelos ;)

Hoy les presentamos los vídeos de las defensas del resto de competidores de NiutinBot y los tiempos que han conseguido.

Vídeo 21 - Rumbabot

Tiempo empleado para completar el circuito:
2 min 10 seg en un sentido
NO COMPLETO
sentido contrario

Vídeo 22 - Spybot

Tiempo empleado para completar el circuito:
1 min 27 seg en un sentido
NO COMPLETO
sentido contrario

Vídeo 23 - Tactobot

Tiempo empleado para completar el circuito:
1 min 41 seg en un sentido
1 min 40 seg sentido contrario

Vemos que Tactobot es un rival a tener en cuenta ya que sus tiempos han sido muy parecidos al de Niutinbot. También se observa que Spybot ha hecho un tiempo mucho menor pero no consiguió superar el circuito en ambos sentidos lo que ha hecho que no sea muy fiable su tiempo.

Como ven, no sólo nosotros hemos estado malgastando :P nuestro tiempo en la construcción de robots sigue líneas, también otros compañeros se lo han currado :D Deseamos que hayan disfrutado con sus trabajos tanto como nosotros!!!

Nos vemos ;)

Si siempre han tenido curiosidad por conocer los componentes principales del ordenador y cuales son sus funcionalidades, no se pierdan el siguiente video. (Es de lo mas didáctico XD) En él, se hablará de diversos componentes como la CPU, memoria RAM, disco duro, teclado, ratón, tarjetas de video, entre otras.

Fijense como se curran los de Intel la publicidad. La verdad es que son muy buenos

Antes de la competición debíamos defender nuestro proyecto ante el profesor de la asignatura de Biocibernénitca Computacional en el laboratorio tecnológico de la Universidad de Las Palmas de Gran Canaria (ULPGC). La defensa ha consistido en que el robot realizara un circuito cuyas características desconocíamos a priori.
Imagen del circuito:
Calibraciones:
A continuación, probamos a NiutinBot en el circuito con las características de nuestro circuito de prueba. Pudimos observar que el funcionamiento no era el más óptimo, ya que en ocasiones no reconocía la línea tras esquivar el objeto, como hemos visto en días anteriores.

Tras realizar las calibraciones de velocidad y sensores oportunas en un tiempo límite de 20 minutos, comenzamos la defensa...

Para una correcta evaluación, el robot debía completar el circuito en ambos sentidos en el menor tiempo posible y esquivando todos y cada uno de los objetos.

Vídeo 19 - Defensa en Sentido I

Tiempo Empleado en completarlo: 1 min. 42 seg.

Vídeo 20 - Defensa en Sentido II

Tiempo Empleado en completarlo: 1 min. 37 seg.

Tras completar el circuito en ambos sentidos con éxito, el profesor decidió probar la versatilidad de nuestro programa modificando los obstáculos del circuito.

Vídeo 21 - Test adicional

En los próximos dias, presentaremos a todos los competidores y los tiempos que han necesitado cada uno para completar el circuito. Veremos las alternativas que han tomado los demás participantes en el diseño del robot y la forma de solucionar el circuito.

Gracias a nuestro arduo trabajo, antes de la competición nos da tiempo para realizar unos ultimos retoques para arañar algunas décimas como en la formula 1.

Basicamente nos hemos centrado en cambiar velocidades, giros y demás ajustes que nos permitan ganar algunas décimas de segundo. También hemos mejorado en las rectas haciendo que Niutinbot se salga menos y consiga mejores tiempos.

Este es el circuito donde "NiutinBot" ha realizado los últimos entrenamientos libres

Los entrenamientos no siempre han sido favorables debido a que los cambios en algunas ocasiones no han sido satisfactorios y han provocado que Niutinbot no haya conseguido pasar el circuito completo cometiendo algunos errores.

Video 15 - Los ajustes esta vez no funcionaron como esperamos

Video 16 - Ganamos en velocidad aunque no logramos la perfección

Estos resultados aunque fueron frustantes al estar tan cerca del éxito no hizo que nuestra entrega se apagara ni tampoco retroceder y continuamos mejorando nuestro robot. Un ejemplo de las mejoras fue eliminar de NiutinBot aquellos elementos que no eran necesarios haciendo su peso menor. También corregimos los errores anteriores y conseguimos que Niutinbot terminára el circuito sin ningún problema y además consiguiendo un tiempo mucho menor a los obtenidos. Niutinbot have a NEW RECORD.

Video 17 - EL trabajo ha dado sus frutos

Bueno a lo largo de todo el proceso de programación y mejoras de Niutinbot hemos visto como ha ido respondiendo pero, quieres sentirte como Niutinbot dentro del circuito, pues te traemos esta oportunidad dejándoles esta perspectiva del circuito.

Video 18 - Sientete como Niutinbot recorriendo el circuito

Seguro que muchos de ustedes conocen las tres primeras leyes de la robótica enunciadas por Isaac Asimov en una de sus novelas más famosas, Yo, Robot:


  1. Un robot no puede hacer daño a un ser humano o, por su inacción, permitir que un ser humano sufra daño.

  2. Un robot debe obedecer las órdenes dadas por los seres humanos, excepto si estas órdenes entrasen en conflicto con la Primera Ley.

  3. Un robot debe proteger su propia existencia en la medida en que esta protección no entre en conflicto con la Primera o la Segunda Ley.


Quizás lo que desconocen es la Ley Cero.


los robots del amanecer isaac asimov portada.jpg

Resulta que este libro fue publicado en 1950, pero Isaac Asimov debió encontrar un pequeño defecto a sus leyes y decidió añadir una nueva. En 1983 se publicó la novela Los robots del amanecer en la que un robot moribundo tras haber tenido que matar a un ser humano tratando de defender un beneficio futuro para el total de la Humanidad.

Esta nueva ley, conocida como Ley Cero, dice lo siguiente:

Un robot no puede hacer daño a la humanidad o, por inacción, permitir que la humanidad sufra daño.


Nosotros nos preguntamos, en un mundo en el que parece que la investigación científica orientada a los robots está yendo de la mano de la fabricación de nuevo armamento, ¿cómo protegernos de nuestras propias creaciones si estamos estableciendoles un objetivo muy concreto?

De todas formas, se tratan de unas leyes que aparecieron en novelas y carecen del rigor científico. Pero aún así podrían constituir el inicio del código ético de este campo.

Si creian haberlo visto todo, CPU de 2 núcleos, de 4 núcleos... preparesen para el nuevo procesador de 80 núcleos de Intel. (Aunque tambíen es verdad que existen precedentes de otros procesadores de un número desorbitado de núcleos :P)

A continuacíon se muestra un video donde se explica un poco mejor todo esto.

Y que opinan ustedes sobre el futuro de los ordenadores. Podemos intuir facilmente que llegara un momento en que los procesadores no podran ser más pequeños y por lo tanto existe un limite fisico para mejorar los ordenadores. ¿Que pasará entonces?, ¿Deberian los expertos seguir buscando maneras de aumentar el numero de procesadores en nuestro ordenador?, o ¿Deberian buscar alternativas a los procesadores?. ¿Necesitamos ordenadores tan potentes?

Hoy lo que hemos querido hacer ha sido encontrar una mayor velocidad en nuestro robot para lo que hemos exprimido donde hemos podido y hemos llevado a Niutinbot hasta sus límites.

El mecanismo que hemos utilizado han sido pruebas en un nuevo circuito que hemos montado (básicamente es el de siempre pero con una recta más y lleno de obstáculos :P)

Aquí vemos en que aprieto lo pusimos xD (Después veremos que el pobrecito de nuestro robot no pudo rendir al 100% durante todos los test :( )

Bueno, el caso es que parecíamos un equipo de Fórmula 1: Javi cronometrando, Emi y Enri grabando las pruebas en video, y junto con Jorge y Edu, todos estábamos con el mono de ingenieros encima modificando el código y aportando ideas! Y no sólo en eso nos parecimos a un equipo de Fórmula 1 jeje :U :P

En ocasiones Niutinbot nos trajo de cabeza! Como podemos ver en los siguientes videos:

Video 12 - Y si le gusta el objeto, repite!

Video 13 - Otro fallo, pero no pasa nada

Pero todo no fueron desgracias eh!!!
Si ven este último video del día observarán que nuesto robot completa el recorrido que nos hemos inventado para él en muy poco tiempo y de una manera muy elegante. Esquiva todos los obstáculos, ya sean grandes como la papelera o pequeños como las latas, y sigue correctamente la trayectoria de la línea negra pintada en el suelo del laboratorio ^^. El que la luz esté apagada fue porque queríamos probarlo en todas las condiciones posibles. Se observa que al final del video (cuando está a mitad de la segunda vuelta) Niutinbot tirá una de las latas, pero esto se debe a que en ese sentido el circuito no cumple con todos los requisítos de la competición, así que no supone ningún problema.

Video 14 - Éxito asegurado

Esto ha sido todo por hoy. Aún nos quedan unos días hasta la competición. Si lo creemos oportuno seguiremos trabajando en nuestra pequeña criatura para hacerlo más competitivo.

Hasta luegooo y sigan pendiente a los nuevos progresos de NiutinBot !!!!

Lo que hemos hecho en este día ha sido probar diferentes velocidades hasta encontrar la más óptima para que NiutinBot pudiera acabar primero en la competición de Biocibernética ULPGC 2008.

Hemos conseguido una buena fiabilidad además de un buen equilibro entre velocidad, eficacia y rendimiento.

Vídeo 9 - Resolviendo el circuito

Un dato curioso que debemos resaltar se ha producido en el momento de esquivar la papelera blanca, ya que la superficie de ésta reflejaba sobre la linea negra y el robot no volvia a seguirla con precisión.

Vídeo 10 - Problemas con la papelera

¿Solución? Taparla! :P

Vídeo 11 - Se acabo el problema

La próxima entrada del diario no tardará en llegar, estad atentos ;)
Saludos!!!

Aún no se ha estrenado la peli de animación de Disney para este Verano pero ya tenemos una réplica idéntica de su personajillo, el adorable WALL·E

Más mono! Quién lo tuviera por casa! :P

Se le podrá ver en alguno de los parques temáticos de la factoría Disney (con tanto niño y adulto alocado durará 2 días xD)

... pero se logró !! :-)

08:30 AM
Nos reunimos en el laboratorio de Biocibernética para continuar con los intentos de hacer a nuestro robot sortear bien un objeto.

08:00 PM
Salimos del laboratorio :-P

Lo que pasó entre esas horas fue lo siguiente...

Comenzamos el trabajo justo donde lo habíamos dejado, con el robot rodeando la papelera del aula. Estábamos convencidos de poder terminar el problema haciendo que NiutinBot dibujara una tayectoria de radio constante alrededor del objeto.

Tras muchos intentos fallidos por hacer que no se chocara y engañosos éxitos fortuitos de movimientos de evasión, nos volvió a la cabeza la alternativa que habíamos desechado. Esa que decíamos que no era tan elegante y posiblemente menos eficiente. Parece ser que cuando el cansancio llega, lo lógico y sensato se transforma, pues decidimos volver a intentarlo con el planteamiento olvidado.

Como tampoco nos decidíamos qué alternativa podríamos implementar satisfactoriamente, aprovechando la ventaja que nos brinda ser un grupo de 5 personas, nos dividimos en dos grupos de invetigación y desarrollo diferentes que trabajaran con ambas soluciones posibles. El objetivo: lograr implementar ambos métodos para comparar cuál sería el mejor.

Tras un largo período de un ir y venir de nuevas propuestas, sucedieron varios acontecimientos importantes. Entre ellos, el que nos ha hecho volver a modificar el diseño del NXT añadiéndole un nuevo sensor a su derecha (ahora tiene un aspecto más humano ya que se asemeja a un brazo). Esto simplemente lo hicimos para mejorar el reparto de pesos. Después de esto, varias ideas decisivas se nos ocurrieron y logramos arreglar todo aquello que nos impedía proseguir.

Finalmente dimos con la solución!
Y, además, ya no sólo es capaz de esquivar objetos grandes, sino que se adapta a otros de menor diámetro (que son justamente los que se utilizarán en la evaluación de la práctica).

Les dejamos unos videos para que observen el resultado.

Video 7 - Mira que bonito es esquivar objetos

Video 8 - Otro más (Y ya vamos de sobrados :P)

El próximo día intentaremos adaptar los parámetros para aumentar la velocidad y depurar el código en general para hacerlo más eficiente.

Hasta la próxima !! :-)

Hola! Ya estamos por aquí molestando de nuevo :P

Después de enseñarle ayer a nuestro robot como NO debía sortear los obstáculos, decidimos seguir avanzando en este aspecto y hacerlo bien por primera vez xD

Al final hemos desechado la segunda alternativa que comentábamos en la anterior entrada de NiutinBot y hemos optado por continuar el trabjao que ya habíamos avanzado más. Aún así hemos usado algunas de las ideas de ambas soluciones y hemos creado un híbrido que aparentemente cumple los requisitos (aunque falta por depurar algunos detalles que provocan errores). Veamos un vídeo en el que NiutinBot se encuentra tan feliz caminando por su línea negra cuando de repente se topa con una caja de zapatos que encontramos en el laboratorio, así que viendo que no puede continuar por el trazado, decide evitarlo.

Vídeo 6 - Esquiva caja

También se puede observar que Javi intentó quitar la línea para que nuestro robot no se confundiera de camino y siguiera esquivando el segundo obstáculo (aunque pensamos luego que hubiera sido mejor dejarla para que no colisionara con la papelera xD)

Esperamos que continúen atentos a nuestros avances. Muy pronto más ;)
Hasta lueeeego!

¡No todo es trabajar!

El primer boceto del logo de NiutinBot...

Al día siguiente hemos estado probando soluciones para revasar un obstáculo fijo. Tras varais deliveraciones hemos decidido probar dos posibibles alternativas.

El siguiente paso de NiutinBot, es que éste sea capaz de detectar objetos. Antes, deberemos realizar pequeñas mejoras para optimizar el rendimiento de nuestro robot.

Para conseguir que NiutinBot sea capaz de seguir una linea negra, y esquivar objetos que se encuentre en su trayectoria, hemos divido el problema en partes y hoy os mostraremos como NiutinBot da sus primeros pasos.

Claro que sí.
El mundo de la robótica y la biocibernética evolucionan tanto y tan rápidamente que cada día nos encontramos con "cacharros" más sorprendentes!

NiutinBot fue nuestro primer proyecto, y consiste en un robot que sigue una línea negra y esquiva objetos que se encuentre en su trayectoria. **Además NiutinBot competirá con otros robot para saber quién es el más rápido de Gran Canaria.**

Que nervios!! Esta es nuestra primera entrada en Canarias7, habrá que esmerarse que nos está viendo mucha gente.