Página principal
    | Apúntate a MundoPC.NET  | Errores | Ayuda | Añadir a Favoritos Versión Imprimible

 :: SECCIONES
 Actualidad
 Noticias
 Cursos
 Programas gratis
 Hardware
 Linux
 Windows
 Glosario Informat.
 Glosario Extens.
 Humor PC
 Ocio y Juegos
 Webmasters
 Guía buscadores
:: ENCUESTAS
Si usas Windows ¿qué versión?
Windows 95
Windows 98
Windows Me
Windows NT
Windows 2000
Windows XP
Windows 2003
Windows Vista
Otra version...



Ver resultados

Ver encuestas anteriores y comentarios

Version 2.02

Estás en:  Página principal » ACTUALIDAD » varios » robots

PROGRAMANDO ROBOTS CON SOFTWARE LIBRE

2/2

PROGRAMANDO LEGO MINDSTORMS

¿Cuál es el motivo de la existencia de gran cantidad de software desarrollado para LEGO Mindstorms? El factor principal ha sido la permisividad de LEGO. Bien porque su mercado es la venta de sus piezas, es decir, del hardware, o bien porque creen que no hay más remedio que permitir que los hackers modifiquen tus productos sin son susceptibles de hacerlo; la realidad es que LEGO ha consentido la ingeniería inversa necesaria para que se pueda desarrollar software libre para su plataforma. Los entornos de programación más extendidos son NQC y BricKOs.

Algo parecido sucedió con el perro-mascota de Sony. Un hacker publicó las llamadas al sistema de su sistema operativo propietario (OPEN-R), lo cual fue inicialmente perseguido por Sony hasta que decidió publicar un entorno de desarrollo: openr.aibo.com. En este caso Sony no ha liberado su sistema operativo, pero sí que se está constituyendo una comunidad de desarrolladores alrededor de sus robots, con lo que puede que en algún momento surja una alternativa libre.

Pero volvamos a las alternativas para programar LEGO Mindsotorms. La más extendida es NQC, cuyo acrónimo NQC significa Not Quite C, que traducido es algo así como "un C no completo". Es decir, se trata de un lenguaje sencillo con una sintaxis muy similar a C que se puede usar para programar el ladrillo. Es, desde luego, la alternativa más sencilla al lenguaje de programación basado en iconos arrastrables que proporciona LEGO.

NQC es software libre, distribuido bajo la Licencia MPL (Mozilla Public License). Sin embargo, usa el sistema operativo original de LEGO, lo que hace que no se trate de un entorno libre completo. A pesar de estas limitaciones, NQC es un lenguaje muy popular entre los usuarios de baja formación informática, debido sobre todo a su simplicidad, pero también a la abundante documentación ya la existencia de herramientas como RCX Command Center para MS-Windows(TM) que facilitan el desarrollo y la descarga de programas. En el caso de GNU/Linux, se dispone de un compilador que produce código directamente descargable en el robot, pudiendo utilizarse como editor cualquiera que trabaje con texto ASCII.

Sin embargo, si se quieren realizar programas que requieran cierto almacenamiento de datos, por ejemplo, crear un mapa, o simplemente que sean más grandes, NQC no es la opción más adecuada y hay que utilizar un lenguaje de programación real (C, C++, Forth, Ada, etc.) lo cual obliga a cambiar el sistema operativo del ladrillo y en consecuencia a usar BrickOS.

BrickOS es un sistema operativo libre para LEGO Mindstorms, diseñado e implementado fundamentalmente por Markus Noga, y que inicialmente se llamó LegOS. Comparado con el sistema operativo original de LEGO, ofrece muchas ventajas, además de mejores prestaciones y mayor flexibilidad y lo que es más importante desde mi punto de vista, se trata de software libre.

BrickOS es únicamente el sistema operativo, lo que quiere decir que se necesita el soporte de un compilador capaz de generar código para H8, a partir del lenguaje de programación que deseemos y para el que existan las librerías adecuadas de BrickOS. El entorno de programación bajo GNU/Linux incluye el compilador de C de GNU (gcc) compilado como cruzado para Hitachi H8, para lo que hace falta usar las binutils. La distribución para GNU/Linux de LegOS incluye varias herramientas que permiten descargar el código de forma dinámica, descargar el firmaware o sistema operativo, así como varios ejemplos. Existen paquetes Debian y de otras distribuciones, de forma que es muy sencillo de instalar.

Alrededor del sistema operativo BrickOS se han desarrollado múltiples herramientas auxiliares, como por ejemplo simuladores que hacen más fácil la depuración, al permitir ejecutar programas en la propia plataforma de desarrollo usando un depurador tradicional de GNU/Linux como por ejemplo gdb. Ejemplos de estas herramientas son emulegos, que permite simular las entradas y salidas; LegoSim, otro simulador; etc. Existen también herramientas que no son para programadores, como por ejemplo LDraw que permite crear escenas virtuales de piezas LEGO y renderizarlas, haciendo incluso animaciones, etc.

En resumen, el software libre no solo está colonizando los ordenadores personales con GNU/Linux, Firefox u OpenOffice, está entrando con mucha fuerza en todos los entornos programables, y los robots no son una excepción. Pronto podemos encontrarnos al robotito de Bilo, de la genial tira cómica de Javier Malonda en nuestra mesa ejecutando software libre...

© 2004 Vicente Matellán Olivera.
vmo@barrapunto.com
Se otorga permiso para copiar y distribuir este documento completo en cualquier medio si se hace de forma literal y se mantiene esta nota.

< Anterior

05/12/2004



 :: SERVICIOS
 Directorio
 Foro


| Logo MundoPC.NET | Publicidad | Quienes Somos | Aviso Legal | Contactar | GMC Contables | Translate |
  Hay 29 visitantes. Record on-line: 553 © MundoPC.NET C.B. 2000 - 2008