Tecnologia

16 jan, 2015

Robótica – Movimento Mindstorms

Publicidade

Com a explosão das novas tecnologias que vêm invadindo o mundo imaginário das crianças, a Lego resolveu utilizar o inovador kit Lego Mindstorms como ferramenta no ensino para jovens e adolescentes, na formação do conhecimento básico. Chegando à sua terceira versão, o Ev3 (Evolution 3) promete revolucionar os estudos de matemática e robótica nas escolas. Mas não é de agora que essa tecnologia vem querendo invadir as salas de aula de todo o mundo.

robo]

Em 1998, foi lançada a primeira versão oficial do Lego Mindstorms, batizada de RCX (Robotic Command Explore) – existiram outras versões anteriores, como o Bloco Vermelho MIT, de 1995 e o Lego Discovery, de 1996 (um bloco azul muito similar ao RCX, mas foram versões beta usadas com turmas de 4º e 5º anos). Isso foi uma parceria com o Instituto de pesquisas do MIT, liderada por Seymour Papert, matemático e grande pesquisador sobre o uso dos computadores na educação e também criador da linguagem de programação Logo. Papert defendia a ideia do Construtivismo, de Jean Piaget, em que se permite que a criança construa seu conhecimento através de algumas ferramentas, como o computador aqui citado.

O RCX foi um grande avanço para a inserção do estudo de tecnologias em sala de aula. Seus kits eram compostos por peças mecânicas da linha Lego Technic, como engrenagens, cremalheiras e polias, e as vigas traziam, além do bloco programável, sensores para a captação de variações ambiente. Porém, o que mais chamava a atenção era sua forma lúdica e simples de programação utilizando o Robolab, um software baseado totalmente no LabView, da National Instruments. Com ele, a criança tinha apenas que arrastar os blocos de comando das funções que gostaria de utilizar, interligá-los utilizando sua lógica e transferir por meio de IR para o Bloco RCX, e ele obedecia a todos os comandos dados pelo software.

O RCX ficou no mercado 8 anos (de 1998 a 2006) e foi utilizado por muitas escolas e universidades, até mesmo aqui no Brasil, como na rede SESI e escolas particulares como o Centro Educacional Cidade El Shadai, em Santo André (SP).

Em agosto de 2006, a Lego inovou novamente com apoio do instituto de pesquisas do MIT, o Media Lab, e criou o que até hoje é considerado seu maior trunfo para a educação, o kit Lego Mindstorms NXT 2.0 (abreviação de NEXT). Utilizando o processador Atmel 32-bit ARM, muito superior ao seu antecessor, trazia também consigo uma vasta gama de sensores. Seu software foi amplamente renovado, trazendo interfaces gráficas melhoradas e mais intuitivas, ajudando na praticidade da construção do conhecimento e da lógica de programação. Com uma ampla área de trabalho, o NXT software trouxe conforto ao trabalhar montagens bloco a bloco.

Programando no software NXT-G

No NXT software separamos os blocos por suas tarjas – são sete no total e cada uma representa uma função no programa:

  • Verde: blocos que comandam as ações externas por meio de atuadores, motores, sons, visor etc;
  • Amarelo: utilizados para leituras dos sensores dinamicamente; através deles, podemos conferir informações e repassá-las para algum tratamento;
  • Laranja: utilizados como blocos de fluxo e contam com funções de Loop e Switch;
  • Vermelho: blocos de tratamento, utilizados para operações matemáticas e booleanas;
  • Vinho: padrão avançado dos blocos, com eles calibramos os sensores, convertemos strings e abrimos conexões Bluetooth;
  • Azul: no NXT software podemos criar nossos próprios blocos de comandos diversos, e todos ficam salvos nessas tarjetas de cor azul.

fb01

Todos são acompanhados de painéis de controle, nos quais configuramos as ações de seus blocos.

fb02

Programar no NXT software consiste em arrastar os blocos para a área de trabalho de forma a utilizar a lógica e configurá-los. Vejamos o exemplo em que o robô andará para frente e quando houver um toque no sensor e ele retornará e desviará seu caminho.

Programar no NXT software consiste em arrastar os blocos para a área de trabalho de forma a utilizar a lógica e configurá-los. Veja um exemplo no qual o robô andará para a frente e quando houver um toque no sensor ele retornará e desviará seu caminho.

Podemos também fazer o tratamento de variáveis com valores dinâmicos. Nesse próximo exemplo faremos no visor do bloco uma imagem rodar infinitamente.

fb03

Para tratamento de dados, utilizamos o Data Hub (pontos de acesso) e o Data Wire Types (fios de ligação), que são as linhas de comunicação entre os blocos.

A programação em blocos do Lego Mindstorms é um tanto intuitiva, podendo se utilizar de várias lógicas para resolver o mesmo problema. A versão educacional traz consigo um software para registro de dados, o “Data logging”, no qual podemos fazer um trabalho mais aprofundado em leitura de sensores para maior aproveitamento de seus recursos e interação com o ambiente.

Um exemplo simples de registro de dados seria estudar o nível de luz de um ambiente ao longo de um período de tempo, como quando você acende uma luz fluorescente que começa um pouco fraca, e depois clareia gradualmente ao longo do tempo. Você pode ver isso, mas para determinar quanto tempo leva para chegar ao “brilho total”, ou o quanto ele realmente aumenta de brilho durante os primeiros minutos, precisa praticar o registro de dados gradativos. Para esse teste, foi utilizado o protótipo Path Measurer do site http://www.nxtprograms.com, adaptando a ele os sensores necessários.

Ele também pode ser programado em outras linguagens, como C, C++ e JAVA, podendo se interligar com aparelhos Android.

O NXT 2.0 foi um grande avanço, e pode ser usado na educação tecnológica de crianças e adolescentes, tanto que foi criada uma competição mundial que utilizam essa tecnologia, chamada de First Lego League (FLL). Jovens de todo o mundo treinam para participar do torneio, que propõe que um grupo de alunos construa e programe seus robôs para resolver desafios específicos específicos dados pelos líderes do torneio em um campo de provas. Mas não é só isso: a cada ano, esse torneio traz temas de pesquisa relacionadas aos problemas atuais para que os alunos tragam soluções. Tudo isso baseado em valores éticos e morais desenvolvidos por cada equipe.

A chegada do Lego Mindstorms EV3 traz consigo possibilidades a serem trabalhadas em novas áreas de ensino já que, além de ter um hardware superior ao NXT, a nova edição tem um processador Sitara AM1808 da Texas Instruments (núcleo ARM9 de 32-bits, instruções ARMv5 e clock de 300 MHz), com um aumento considerável na velocidade de processamento e uma nova CPU. O EV3 conta com 64 MB de RAM e 16 MB de memória flash, enquanto o NXT 2.0 possuía apenas 64 KB de RAM e 256 KB de flash. Além disso, ele tem a capacidade de ampliar seu armazenamento, por meio de um cartão micros, até 32GB, possui conexão Wi-Fi e ganhou uma OUTPUT extra para o controle de um quarto motor. Seu programa traz recursos de CAD para montagens de projetos diretamente no software, sua programação ainda segue a linha do Labview, contando com aproximadamente 17 blocos envolvendo sensores e motores (sem contar com operações de lógicas e matemáticas), e cada bloco traz suas opções próprias. Ele foi adaptado para os novos padrões de programação da Lego dos kits WeDO para crianças do fundamental, e ainda conta com retrocompatibilidade, isto é, os motores e até mesmo o software podem ser usados no NXT 2.0

Os “blocos” sãos as unidades elementares da programação do EV3. Trata-se de uma linguagem gráfica na qual cada string e operador são representados por blocos concatenados em uma linha. Assim, para fazer o robô andar para frente continuamente, colocamos um bloco de loop na thread (o processo). Em seu interior, incluímos um bloco de acionamento do motor, no qual serão especificadas a potência e a velocidade de rotação. Note que a metáfora do acionamento do motor estar em loop se aplica visualmente: o bloco do motor fica dentro do bloco do loop.

Programando no software EV3

Sua interface mais simples trouxe maior conforto ao programar eventos mais avançados. Foram excluídos alguns itens nesse novo software, como os painéis de controle, e agora as configurações são feitas diretamente nos blocos que ainda mantêm suas cores de tarjas padrão. Houve modificações apenas nos blocos avançados, que da cor vinho passaram para a cor azul escura.

Aparência dos novos blocos

fb04

 

O software EV3 utiliza mais os conceitos de Data Hub e Data Wire Types para maior utilidade dos tratamentos de dados, deixando-os mais organizados no visual.

Exemplos de programação

Tratamento de variáveis pelo software ev3:

Imagem 5

Os editores de blocos e mídia também foram melhorados. O usuário pode criar um bloco customizado com até 10 parâmetros de matemática, lógica ou texto. O editor de imagens, por sua vez, tem uma interface parecida com a do Microsoft Paint e mostra o número real de pixels da tela, de modo é possível ter total controle sobre o que aparecerá no display.

O editor de áudio é bem simples, mas permite gravar e fazer cortes secos nos clipes, que podem ter até 10 segundos. Outro ponto legal é que os programas podem ser transferidos para o robô em forma de “aplicativo”. Na prática, isso quer dizer que o usuário pode acessá-los em um pacote com ícone e tudo, em vez de ter que procurar o executável no sistema de arquivos. O site da Lego Mindstorms possui um fórum de relacionamento que permite a todos os usuários postarem suas experiências com os kits, programações e até passo a passo de suas montagens, formando assim uma grande rede de usuários com uma ampla variedade de informações.

A Lego conseguiu rodar uma versão personalizada do sistema Linux no Mindstorms EV3, ampliando muito as possibilidades de programação. De certa forma, o EV3 é como um Raspberry Pi mais especializado. A compatibilidade com o kernel do Linux abriu caminho para uma série de hacks. Membros da comunidade chegaram a criar um fork do Debian 7.0 para rodar no EV3. Com o nome de “ev3dev”, ele é um Debian quase que completo (Linux 3.3.0). Essa distribuição permite que o EV3 rode tudo que roda em um Debian comum, incluindo servidor Apache.

E no Brasil?

No Brasil, pesquisadores como o Prof. Dr. Flavio Campos Rodrigues, Doutor em Tecnologias e Robótica na Educação Básica pela PUC-SP, vem estudando novas formas de aplicações dos materiais Lego no Ensino Básico. Desde 2011, venho trabalhando com ele para levar as suas mais novas descobertas às salas de aula do Centro Educacional Cidade El Shadai. No ano passado, tivemos uma grande experiência: participamos pela primeira vez de um torneio FLL com a equipe All Black, e nos surpreendemos com nossa colocação de 16º em uma competição que contava com mais de 50 equipes, sendo que várias delas já eram veteranas nesse tipo de evento.

Este ano, unimos forças com a Equipe Things Hacker Team e formamos a equipe kids Things Hacker Teens para a competição. Já começamos os treinamentos e estamos esperançosos para chegar e mostrar nossos conhecimentos, e quem sabe até garantir uma vaga na final nacional em Brasília.

Para quem quiser se aventurar com os kits Mindstorms, em São Paulo, próximo à avenida Paulista, abriu o centro de treinamento Manufatto, na rua Cubatão 97 – Paraíso, local especializado em programação e robótica Lego.

Assim, a Lego provou ser mais que uma ferramenta – uma ponte eficaz ligando as crianças de hoje com os futuros profissionais de amanhã.

***

Artigo originalmente publicado na revista iMasters: http://issuu.com/imasters/docs/revista_imasters__12