PbLua

pbLuaHoy queremos mostraros más información de otro de los lenguajes en modo texto que comentamos en la comparativa de lenguajes para Mindstorms. Se trata de pbLua, un lenguaje basado en Lua que ha sido desarrollado por Ralph Hempel.

pbLua: Un poco de historia

En 1998, con la salida al mercado de LEGO Mindstorms Robotic Invention System, nace pbForth. Un lenguaje para los primeros ladrillos Mindstorms RCX programables, utilizado en muchas aplicaciones diferentes en todo el mundo. El código pbForth era compilado directamente en el RCX y el encargado de la compilación era el propio ladrillo (sin necesidad de ningún dispositivo externo). pbForth era muy rápido, pero enormemente difícil de escribir y de interpretar.

En 2005 LEGO lanza la siguiente generación, Mindstorms NXT. El nuevo ladrillo NXT tiene un microcontrolador de 32 bits ARM7 con 256 K de memoria flash y 64K de memoria RAM. El sistema de programación del set se rediseña desde la base y está basado en una GUI (“Graphical User Interface” o “Interfaz Gráfica de Usuario”).
El desarrollador nos cuenta en su página que fue entonces, en su búsqueda del lenguaje ideal para programar el NXT, cuando descubrió Lua.

Lua es un lenguaje realmente simple que se utiliza en todo tipo de aplicaciones. Fue creado en 1993 por Roberto Ierusalimschy, Luiz Henrique de Figueiredo y Waldemar Celes de la Universidad Pontificia Católica de Rio de Janeiro y su nombre “Lua” significa Luna en portugués.

Lua es un lenguaje suficientemente compacto y veloz para usarse en diferentes plataformas, por ejemplo se utiliza para programación de videojuegos (los famosísimos World Of Warcraft o Half Life hacen uso de scripts de Lua)

Sus principales características son las siguientes:

– Las variables no tienen tipo, sólo los datos y pueden ser lógicos, enteros, números con punto flotante o cadenas.
– Estructuras de datos como matrices, conjuntos, tablas hash, listas y registros pueden ser representadas utlizando la única estructura de datos de Lua: la tabla.
– Está escrito en una versión de C portable, con requisitos mínimos de tiempo de ejecución.
– Puede ser compilado al vuelo en el sistema, en este caso el NXT.
– Es un lenguaje con un conjunto de órdenes muy reducido, fácil de leer y fácil de escribir.

Además, pbLua tiene:

– Soporte bluetooth, tanto con PC como con otro ladrillo
– Soporte I2C

Uno de los proyectos de NXT, programado en pbLua, más relevantes es el escáner 3D de Philo

Información adicional: Ralph Hempel pbLua

Comments are closed.