
Clique aqui para ler esse artigo em PDF.
De brinquedos a robôs
Lego Mindstorms e Java
Java chega onde nenhuma outra linguagem de alto nível jamais esteve, com uma combinação original de criatividade e tecnologia
Em um concurso internacional, entre 124 participantes, Jitter foi escolhido para viajar até a Estação Espacial Internacional (IIS) e fazer alguns malabarismos em gravidade zero. Ele iria também coletar algumas peças que estariam flutuando por lá e se comunicar com a estação espacial através de raios infravermelho. Seus dois criadores assistiram, do controle espacial de Moscou, o sucesso da sua criação. Jitter perambulava pela estação e quando notava a presença de um astronauta, impulsionava-se em direção a ele desviando apenas no último instante, saudando-o com luzes e sons.
Parece mais um desses sonhos dos quais apenas poucas pessoas teriam recursos suficientes para participar, mas não é — o robô inteiro foi criado com peças de um kit especial da Lego, chamado Mindstorms, com preço acessível para qualquer usuário doméstico. O Jitter tem como “cérebros” dois processadores Hitachi de 16 Hz, com 32 Kb de memória RAM cada, que se comunicam também por infravermelho através de cabos de fibra ótica. O mais interessante: o robô roda uma máquina virtual Java (veja o Jitter na Figura 1).


Figura 1. Jitter(100% Lego e Java), embalagem e embarque para a Estação Espacial Internacional
Autonomous Intelligent Systems - AIS (ais.gmd.de)
Lego Mindstorms
Faz muito tempo que a dinamarquesa Lego tem a idéia de atingir seus antigos consumidores, hoje adolescentes ou adultos; daí nasceu uma parceria com o MIT (Massachusetts Institute of Technology, EUA) para o desenvolvimento de “tijolos” inteligentes que suportassem algum tipo de programação para operar motores e sensores.
O Mindstorms é baseado em um bloco central, chamado de RCX (Robotics Command System, Figura 2), que possui três entradas e três saídas, além de uma porta de infravermelho e um visor de cristal líquido (LCD). É no RCX que ficam os processadores Hitachi; o kit é compatível com as peças da linha Technic da Lego, o que o torna muito versátil.
Nem tudo, no entanto, agradou ao público adulto. Para programar um robô com o Mindstorms, utiliza-se a RCX Programming Language, uma linguagem de programação visual, que apresenta as instruções e controle de fluxo como blocos de montar (veja um exemplo na Figura 3). Embora seja de fácil aprendizado para o público infantil e adolescente, é uma linguagem extremamente restrita. O código compilado deve ser interpretado pelo RCX, o que é feito através de um firmware que deve ser gravado na memória do equipamento.

Figura 2. O RCX é o coração do Lego Mindstorms

Figura 3. Programação visual com o Lego Mindstorms
...