Programar un ROBOT... con Java!

Publicado el Jueves, 8 de noviembre de 2007

En éstos días se está realizando el Cuarto Campeonato de Sumo Robótico en la Facultad de Ingeniería. Para los que puedan asistir, cuenten cómo estuvo!

El sumo robótico, cual consiste en dos robots que intentan quitarse mutuamente de un círculo (llamado dohyo).

Algunas de las características que posee el sumo de robots que lo convierten en una útil herramienta de investigación son:

* Se desarrolla en un ambiente altamente dinámico.
* Es un problema de tiempo real.
* Posee objetivos y subobjetivos claros y definidos.

Es el cuarto torneo que se realiza, así que lleva un tiempo ya en la vuelta.

En el sitio web del JUGUY, cuentan:

Sumo UYUno de los componentes fundamentales del escenario del Sumo Robótico, es el servidor de Sumo, el cual se encarga de recibir la información del sistema de visión, procesar y enviar esta información a los luchadores (su posición y rotación) y recibir de estos las velocidades para cada rueda del robot; este componente esta desarrollado completamente en Java.

También se proveen APIs desarrolladas en Java para resolver la comunicación entre el servidor de sumo y los clientes (estrategia de los luchadores).

Por último, muchos de los participantes eligen Java para el desarrollo de las estrategias.

Bien, con esta noticia, a algunos se nos pudrió un poco más la cabeza (la voy a tener que cambiar a éstas alturas, porque está hecha un asco...), y pensamos un poco más allá. Andrés del JUGUY, publica:

Aprovechando el hecho de que se halla publicado la noticia sobre el evento de sumo de robots y los comentarios de que el servidor esta completamente hecho en Java, agrego, porque no el robot en Java ?!
Algunos me dirán que estoy loco, y es verdad, pero no tanto !!!

Desde ya hace varios años Sun experimenta con una tecnología llamada SunSPOT (Sun Small Programable Object Technology), la cual este año se puso a la venta luego del JavaOne 2007, por el momento solo para Estados Unidos.

Esta tecnología consta de un dispositivo electrónico que entre otras cosas consta de: sensores de movimiento, velocidad, temperatura, procesador, tecnología wireless y otros. Además, lo más importante para nosotros, corre una Virtual Machine llamada Squawk que permite ejecutar Java.

El API cumple con la especificación de la configuración CLDC (especificación que forma parte de JME) y añade sus propias clases para trabajar con los dispositivos.

Lo grande de todo esto es que, en base al DevelopmentKit proporcionado y usando NetBeans, podemos programar estos "bichitos" en un nivel bastante alto.

Pero, pero, peroooo... esto funciona ?!
Varios proyectos lo confirman y para que le den credito les dejo algunos links:

Vic: 3.5 KB de RAM con 1 MHz de procesador. El único robot Vic 20 del mundoA Programar Robots...

Bien, ahora sí, ¿dónde está la máquina para hacer tiempo? En la lista de cosas que quiero hacer antes de morir, además de programar un videojuego, escribir un libro, entre otros, también está construir y programar un robot.

¿De dónde voy a sacar tiempo para hacer tanta cosa? Todavía tengo un montón de cosas atrasadas por aprender, y sigo sumando a la lista... 😕

En los comentarios del post de robótica de Andrés, cuentan que en la charla de los evangelizadores de NetBeans se mostró uno de los aparatos que interactúan con Squawk, y que son muy interesantes. Aparentemente que se van a empezar a usarlos en Brasil, y son solo para Universidades.

Así que empezar a programar y armar robots, no se ve como algo tan lejano. Recordemos que Java está hecho para andar en cualquier cosa, por lo que con los avances en tecnología, no sería extraño ver en un tiempo "Se busca desarrollador JME con conocimientos en Squawk e Inteligencia Artificial".

Dentro de 5 años tengo robot. Me gustaría empezar con algo sencillo como Vic: el único robot Vic 20 del mundo que hizo Hackles, para seguir con algo más complicado que me acompañe a jugar Nintendo como Zeke de CAD Comic.

4 comentarios en este post

Feed de comentarios
  1. Avatar

    Motsu Macho 30 mayo. 2008 - 00:01

    Oye, y qué opinas de C#?? Puedes hacer tus videojuegos en XNA y tu robot en Robotics Studio a través de ese lenguaje, de modo que puedas terminar esos pendientes en menos tiempo de lo que crees… Si no te gusta C#, me parece que es posible trabajar con xna y robotics con otros lenguajes, como por ejemplo, python, a través de la versión del .net Framework conocida como IronPython, y no sé qué otros lenguajes más… Finalmente, si no te gusta trabajar sobre Windows, me parece que están trabajando en una versión para linux del xna conocida como mono.xna, pero creo nada más se programa en c#… y de robotics no he sabido mucho.

  2. Avatar

    fernando 30 mayo. 2008 - 01:24

    Motsu:
    Gracias por tu aporte. Tengo bastante experiencia con C# en la parte laboral. Realmente no me molesta C#. Es programar en .NET lo que me resulta aburrido, por el hecho de que lo he usado de corrido por temas laborales y de estudio “obligado”, además que no uso Windows en mi computadora personal.
    De todas formas todavía se ve como algo lejano, pero algún día lo voy a intentar. Además me gustaría estudiar un poco la materia para hacer algo “avanzado”.
    Muchas gracias por tu aporte, y las distintas opciones que planteas. Para todos los gustos!

    Saludos!

Dejar un comentario

Toasty!