Home > Aluno, Ferramentas, IFPE, Robôs > BrickOS, uma solução para trabalho com Lego Mindstorms

BrickOS, uma solução para trabalho com Lego Mindstorms

Amplamente difundidos e utilizados tanto para pesquisas como para ensino, os kits de robótica da Lego em sua linha Mindstorms, possibilitam em um baixo investimento a implementação de projetos diversos. Aqui no IFPE utilizamos o NXT em conjunto com as placas da Arduino, e vem demonstrando bons resultados.

Apesar do lançamento, relativamente recente, por parte da Lego da nova linha Mindstorms com a unidade controladora NXT, temos popularmente um grande número de kits no mercado que possuem como unidade central o Robotic Control Explorer (RCX), micro controlador Hitachi H8/3292 de 16 Mhz. Utilizando uma arquitetura RISC (Reduced Instruction Set Computer), com 32 registradores, palavra com 8 bits de tamanho e memória de 16K de ROM e 32K de RAM.

Como sistema operacional que acompanha os kits com controlador RCX temos as versões RCX1 e RCX2, ambas proprietárias, de fácil uso, mas com algumas limitações de desempenho e funcinalidade. Para trabalho com estes sistemas operacionais utilizamos com maior frequência os compiladores Robolab, RIS ou NQC.

Como solução para as limitações impostas pelo software que acompanha os kits temos a solução open source BrickOs que se apresenta como um sistema operacional onde o usuário possui maior controle sobre o RCX, assim como o uso completo de sua memória. Para a programação do RCX é utilizado o gcc e g++ (GNU C e C++ cross compilation tool chain) e mais algumas ferramentas para envio dos programas ao RCX.

Quem não se deparou quando da criação de um projeto, em sua fase de programação, ao utilizar por exemplo o compilador NQC com problemas como número de variáveis, ausência de determinados recursos ou a falta de uma faixa maior de precisão? Pois bem, apesar de ser pouco documentado se comparado ao NQC, e ter uma instalação pouco mais alongada, o BrickOS compensa pela usabilidade.

Para os que estão dispostos a pelo menos experimentar esta solução segue abaixo passo a passo para instalação.

Os passos a seguir foram testados no Debian e em distribuições derivadas como o Kurumin.

Instalar o BrickOS via apt-get.

apt-get install brickos
Plugar a torre de transmissão infra-vermelho na porta USB. E confirir seu reconhecimento.
tail -f /var/log/messages

Você deverá obter uma resposta semelhante a esta:

kernel: usb 4-2: new low speed USB device using uhci_hcd and address 2
kernel: usb 4-2: configuration #1 chosen from 4 choices
kernel: drivers/usb/misc/legousbtower.c:

LEGO USB Tower#0 now attached to major 180 minor 160
kernel: drivers/usb/misc/legousbtower.c:

LEGO USB Tower firmware version is 1.0 build 134
kernel: usbcore: registered new driver legousbtower
kernel: drivers/usb/misc/legousbtower.c: LEGO USB Tower Driver v0.96

Transferir o sistema operacional para o RCX

firmdl3 --tty /dev/usb/legousbtower0

/usr/lib/brickos/brickOS.srec

Não se esqueça de ligar o RCX e posicioná-lo para receber a transmissão da torre.

A transferência irá inicializar e você ao final recebrá a seguinte mensagem:

Transferring "/usr/lib/brickos/brickOS.srec" to RCX...
100%

Existe um demo de alguns programas que já são instalados, verifique neste diretório:

root@dell-3300:/usr/share/doc/brickos/examples/demo# ls

Utilize o make para compilar os exemplos.
Para transferir os programas para o RCX utilize:

dll --tty /dev/usb/legousbtower0
/usr/share/doc/brickos/examples/demo/linetrack.lx

Mais informações em http://brickos.sourceforge.net/docs/CommandRef.html

  1. Dionizio Barbosa Mar 31st, 2014 @ 15:43 | #-49

    Caro Anderson

    Tenho um Lego Mindstorm NXT 2.0 e faço pequenos programas com a linguagem que o acompanhou. Entretanto, estou aprendendo NXC, pois desejo expandir meus conhecimentos com o robozinho. Todavia, não tenho o compilador de C para ele. Porventura, V.S. não teria esse compilador? Prefiro para o sistema da Apple (Mac OS X), mas pode ser para Windows.

    Moro em Jaboatão dos Guararapes e, se for o caso, por ir no IFPE da Cid.Universitária.

    Antecipadamento,
    Agradeço-lhe.
    dionizio

  2. Frank Miler Apr 22nd, 2019 @ 11:05 | #-48

    Ótimo artigo!

Submitting Comment, Give me a second...

Leave a comment

 

Allowed tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>
Trackbacks & Pingbacks ( 0 )
  1. No trackbacks yet.