Da Redação
Publicado em 14 de fevereiro de 2014 às 17h43.
O Lego Mindsortms EV3 é muito mais do que um simples brinquedo. Ele é, na verdade, um kit de iniciação em robótica. Após montar o boneco de 601 peças de Lego, a tarefa primária para fazê-lo funcionar é programar. O software oferecido pela empresa é relativamente intuitivo e há diversos guias no site da própria fabricante que podem ser baixados para que o consumidor realmente possa usar o produto. A linguagem é simples e didática, contendo instruções passo a passo e comentários sobre cada etapa. Além dos programas, a Lego oferece uma profusão de instruções de montagem, tanto no próprio software de desenvolvimento, quanto no site.
Montar o robô pela primeira vez já é um desafio considerável e nostálgico para quem brincava com peças de Lego na infância. O INFOlab levou cerca de duas horas e trinta minutos para criar um robô, com dificuldade mediana.
O EV3 assume mais de 20 formas e poder ser controlado pelo smartphone. O humanoide chamado EV3RSTORM é o personagem principal, usado como garoto-robô-propaganda. No lugar dos pés há duas esteiras que podem ser usadas para imitar os passos de um bípede ou para simplesmente andar como um tanque de guerra.
As peças do kit são vigas, engrenagens, eixos, rebites e rodas, sem contar as peças decorativas (espadas, placas, etc). No novo kit foram inclusas algumas rodas menores que não existiam no anterior. Outra parte nova que é bem útil é um grupo de quatro frames com entradas para rebites.
http://videos.abril.com.br/info/id/cbdf4f6d432b47c6648ef055dc549411
O EV3 traz diversas inovações em relação ao seu antecessor, o NXT 2.0. 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), bem como 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.
Claramente, ele é muito mais poderoso. Sendo assim, é possível executar programas mais completos e complexos. Isso sem contar que essa versão possui entrada para cartão microSD que pode ampliar essa oferta para até 32 GB, assim como conectores USB e conectividade Wi-Fi. O bloco computacional também ganhou mais um output de dados, que poderia ser usado para controlar um quarto motor, por exemplo.
Um ponto importante é que há retrocompatibilidade: os motores do EV3 funcionam com o NXT 2.0.
Uma vantagem interessante de ter duas portas USB é que elas podem ser usadas para ligar o bloco computacional a outros blocos EV3. É possível criar uma corrente de até 4 blocos computacionais dessa maneira, o que abre a possibilidade de controlar 16 sensores e 16 motores ao mesmo tempo.
No kit do EV3, há dois motores muito parecidos com os do NXT e um terceiro menor. A diferença é que os motores maiores são fortes e lentos, enquanto o motor menor é rápido e fraco. Esse tipo de variedade é bem útil porque cada um serve para propósitos diferentes.
Software
Com essas mudanças de hardware, a Lego conseguiu rodar uma versão personalizada do sistema Linux no Mindstorms EV3, ampliando muito as possibilidades de programação. De certa maneira, o EV3 é como um Raspberry Pi mais especializado.
O software, no entanto, é bastante simplificado, contendo apenas um reprodutor de mídias e um sistema de arquivos. A compatibilidade com o kernel do Linux abriu caminho para uma série de hacks impressionantes. 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, um sistema de arquivos mais complexo, etc). Essa distribuição permite que o EV3 rode tudo o que roda em um Debian comum, incluindo, por exemplo, um servidor Apache.
A interface em geral também é bem mais responsiva, mas há um problema considerável: o robô demora demais para ligar. O INFOlab registrou 31 segundos de tempo de boot. Isso dificulta a programação por tentativa e erro.
De longe, a novidade mais importante é o novo editor de programas. Existem 17 blocos diferentes que basicamente envolvem o uso dos sensores e dos motores (sem operações lógicas ou matemáticas). Cada bloco tem, por sua vez, opções próprias o bloco que controla o LED, por exemplo, pode determinar as cores que serão exibidas.
O programa é um pouco confuso para iniciantes, é necessário um período de aprendizado. No software de PC você sempre pode contar com legendas que dão nomes aos blocos, contudo, o mesmo não acontece no bloco em si.
A comunidade do Mindstorms na internet é muito produtiva. Existem, literalmente, milhares de projetos de fãs no site da Lego (contamos mais de 17 mil), sem mencionar as comunidades não oficiais. Um ponto negativo para o mercado brasileiro, contudo, é que os projetos só podem ser postados em inglês. Há ideias muitos interessantes criadas a partir dos Mindstorms. Confira dois projetos selecionados pelo INFOlab:
Um robô que resolve o cubo de Rubik
Um elefante
O software de desenvolvimento recebeu aprimoramentos consideráveis. Além de se tornar visualmente mais limpo e agradável, ele também é mais bem organizado. Todo programa criado deve fazer parte de um projeto, que é, essencialmente, a pasta que contém cada aplicação. Isso é importante porque o usuário pode agrupar programas destinados a tipos específicos de robôs.
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). Dentro dele, incluímos um bloco de acionamento do motor, no qual será especificada 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.
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 é os programas podem ser transferidos para o robô em forma de aplicativo. Na prática, isso só quer dizer que o usuário pode acessá-los em um pacote com ícone e tudo, e vez de ter que procurar o executável no sistema de arquivos.
Apesar de haver compatibilidade de componentes, programas criados para o NXT não rodam no EV3. Isso acontece devido à adoção do Linux no novo robô. Entretanto, é possível usar o software de desenvolvimento do EV3 para programar para o NXT desde que o usuário baixe alguns blocos complementares.
A sintática dessa linguagem é baseada na LabView, uma linguagem gráfica desenvolvida pela National Instruments. Como mencionei no relatório do NXT, nada impede que outras linguagens sejam usadas desde que o programador use um compilador adequado. Dessa maneira, existem muitos ports de C, C#, Lua e outras linguagens para o NXT. Como o EV3 roda Linux, ele é potencialmente ainda mais aberto para esse tipo de hack.
O EV3 tem um aplicativo de controle remoto por bluetooth com versões idênticas para iOS e Android. Nos dois sistemas, ele tem a mesma performance e a mesma interface. Considerando que se trata de um controle por bluetooth, fiquei impressionado com a rapidez com a qual o robô responde aos comandos. No aplicativo há uma série de controles pré-configurados para os robôs oficiais da Lego, como é o caso do EV3RSTORM. Ou seja, é possível usar o EV3 apenas como um robô de controle remoto, apenas para brincar. Entretanto, usar o aparelho, que é um kit bastante completo de aprendizagem, apenas para isso pode ser um desperdício. Ele custa 2.599 reais.
Prós | Configuração mais potente que a geração anterior, 20 formas de montagens, diversas possibilidades de programação |
---|---|
Contras | Demora um pouco demais para ligar |
Conclusão | Ótimo aparelho para iniciação em robótica |
Média | 9.0 |
Preço | R$ 2.599 |