domingo, 3 de febrero de 2008

La Corta vida de R2D0 Beta1

Os acordais de esa escena de Star Wars, en la que la nave espacial en la que van los jedis empieza a recivir cañonazos laser y mandan a unidades R2 a repararlas. La primera unidad R2, nada mas salir, le meten un "laserazo" y la descuajaringan. La segunda ("R2D2"), sale y repara los escudos valientemente. Pues aquí esta la que no salio en la pelicula, realmente fue la primera en salir, y nada mas salir al casco de la nave se escurrio y quedo como chatarra espacial. Es una lastima que no lo mostrasen en las "tomas falsas" de Star Wars.


Bueno, pues eso, que R2D0 Beta1 ha tenido una corta vida, y muchos fallos de diseño. El diseño es tan compacto para que se "parezca" a R2 que el pobre robot pierde toda funcionalidad. Basicamente los problemas de diseño que tienen son (Video de demostracion incluido):
  1. La cabeza no gira en condiciones: La idea es hacer que R2D0 Beta1, gire la cabeza para buscar la mejor direccion: En la espalda del robot hay un tercer motor que a traves de ruedas dentadas en posiciones primero vertical y luego horizontal, controlan el movimiento de la cabeza. Parece que un par de enganches no van finos y las ruedas saltan dientes de vez en cuando... Asi que el robot pierde conciencia de en que angulo se ha dejado los "ojos".


  2. Estabilidad con la rueda delantera: Al dar giros bruscos, el robot se va de morros, como el cochecillo de tres ruedas que sale en mister bean, y si acelera muy rapido se cae de espaldas. De todas maneras como se puede ver en el siguiente video, al perder rastro de que angulo es mejor para girar, la estabilidad queda como un problema secundario :).

Asi que, el robot ha tenido una vida muy corta. Lo estoy desmontando y preparando un cochecillo que tambien pueda mover la cabeza. La idea es hacer un que el robot haga lo que R2 no pudo. Navegacion autonoma y un finalmente hacer mapa de la habitación.

Por otro lado, ya he dado un avance: Estoy programando el robot en linux, eclipse y LeJOS, lo cual hace que tirar codigo sea muy rapido y sencillo aunque ya comentare que pegas le encuentro. Mi idea es luego compararlo con Microsoft Robotic Studio y desarrollo con IronPython. Aun no utilizo subsumption (ya comentare que es esto), y los sensores que tengo son los que vienen por defecto con el mindstorm.

Ademas estoy esperando recivir mas sensores que pinchar y evitar algunos de los problemas que voy a tener con el robotillo:
  • Bateria Recargable: Pues eso, tengo que ver como programar el robot para que cuando se quede sin bateria, se conecte solo a la corriente. (Para eso necesita el mapa).
  • Brujula: Como el robot anda por la alfombra y a veces el control por tacometros en los motores no es suficiente, le he comprado una brujula (compass) para que se ubique. Nadie podra decir que no tiene un norte bien definido :).
  • Acelerometro: Este no lo necesitaba por el momento, pero como se paga en dolares salia baratillo. Tratare de utilizarlo para notar cuando el robot se mete galletas, cambia de direccion inesperadamente, le ataca un gato y cosas similares.

3 comentarios:

fractalside dijo...

Si consigues hacer un robot que te recargue el móvil cuando se quede sin batería, te forras.

Carlos Manzanedo dijo...

Joer conociendote, seguro que tu también te lo pasarias pipa con el chisme este... es una especie de robotica para programadores ex-jugones de tente... Además es mas sencillo de lo que parece... basicamente poner piezas juntas y luego tirar menos de 100 lineas de java... y quedan cosas resultonas... que se escoñan contra la pared, pero resultonas :).

No te animas?

fractalside dijo...

Ahora mismo ando renovando el parqué audiovisual. Tampoco es cuestión de abusar con los gastos, que ademas si gastas mucho de golpe sabe a menos :D.

Pero para mi cumple este verano puede ser una opción interesante de auto-regalo. Lo que iba a flipar en el curro si utilizo mi herramienta de trabajo para programar robots.