martes, 9 de junio de 2009

Ambientes de desarrollo alternativos

El software de programación que se incluye con el kit del Lego Mindstorms NXT se llama NXT-G. Es un ambiente de programación "gráfico" que funciona arrastrando bloques y conectándolos unos a otros usando "cables".

Este ambiente funciona bien, pero hay veces que las personas que tenemos conocimientos de otros lenguajes de programación o incluso somos programadores profesionales nos parece muy sencillo o quisiéramos tener un poco mas de poder.

Pues no se preocupen, por que hay ambientes de desarrollo alternativos a NXT-G que se pueden usar para escribir programas para el bloque programable.

NXC

El primero al que me referiré es NBC/NXC es un ambiente de desarrollo donde puedes usar ya sea un pseudo ensamblador o un lenguaje muy similar a C (sin llegar a serlo 100%).

Así que si sabes programar en C este es una muy buena opción. Entre las ventajas que tiene es que los programas se compilan para el firmware por default del NXT y por lo tanto no necesitas cambiarlo como en otros ambientes.

NXC tiene un IDE (Ambiente de desarrollo integrado), el Bricx Command Center que se integra muy bien con el compilador y el bloque programable.

Otra de las ventajas es que si eres un usuario de Linux, puedes desarrollar tu NXT desde este sistema operativo usando NXC.

Una de las cosas que no me gusta tanto de NXC es su documentación, que en muchos casos es muy espesa y con muy poco detalle.

LeJOS

LeJOS NXJ es la plataforma de desarrollo en Java para el bloque programable del NXT. Es una máquina virtual de Java pequeña que puede correr dentro del bloque programable.

Por tal motivo hay que reemplazar el firmware estándar del Lego NXT por el de LeJOS, pero no hay que temer, ya que siempre podemos resetear nuestro bloque para regresar al firmware original.

Las ventajas que tiene este método de programar nuestro robot son obviamente que hay muchos programadores de Java ahí afuera, y muchas de las APIs estándares de Java están disponibles para ser usadas.

Este ambiente también se puede usar en Windows/Mac/Linux y viene con un plugin para Eclipse para poder comunicarse fácilmente con el ladrillo.

RobotC

RobotC es otra opción para programar nuestro ladrillo en C. Este es un ambiente comercial y cuesta una $$$. Una de sus principales ventajas es su rapidez de ejecución.

También necesita nuevo firmware.

Robotics Studio

Este software de Microsoft nos permite programar nuestros robots usando los lenguajes de .NET (C#, Visual Basic, Python, etc).

La principal ventaja de este ambiente es esa, que nos permite programar en varios lenguajes y encontrar el que mas nos guste.

La desventaja es que la versión completa hay que comprarla, aunque hay una versión "Express" que es gratuita.

Hay algunos otros ambientes pero estos son los principales, pueden ver una tabla comparativa de estos y otros ambientes en esta liga.

4 comentarios:

  1. he encontrado un parche en español para el NXT-G, lo puedes descargar desde mi blog:

    http://mapardo.wordpress.com/2009/06/15/nxt-g-en-espanol/

    ResponderEliminar
    Respuestas
    1. No funciona el enlace. Podrías darme otro lugar de donde descargarlo?
      Gracias!

      Eliminar
  2. Existen para Matlab, Urbi, y sobre todo uno de los que impulso este producto: LabVIEW

    Saludos!

    ResponderEliminar
  3. con esto me siento como los personajes de
    la teoria del big bang
    soy un adolescente q tiene clases de robotica
    rayos!!!!!!!!!!
    alguien sabe cual es la ventaja del nxt

    ResponderEliminar