image/svg+xml

Autor Tópico: [MOC] Antigo (2002): Jogador autónomo para jogo do galo (Mindstorms RCX)  (Lida 1310 vezes)

WhiteShadow

  • ..
  • *
  • Mensagens: 37
Como me tinham pedido na minha apresentação, aqui ficam as (poucas) imagens que guardo de quando fiz um mindstorm para jogar o jogo-do-galo autonomamente. Antes de mais tenho de dizer que este MOC foi montado em conjunto com o Rui Monteiro e era muito limitado pelas poucas peças que nós tínhamos. Em particular o set mindstorms não era nosso e depois devolvido, pelo que já não tenho de todo possibilidade de reconstruir o MOC.

(Não sei se deve vir para aqui ou para a secção technic - se não for aqui a agradeço a um moderador que mude o tópico de sítio)

Algumas imagens:



Álbum Flickr: http://www.flickr.com/photos/whiteshadow_lego/sets/72157625291219799/
Álbum Brickshelf: http://www.brickshelf.com/cgi-bin/gallery.cgi?f=452157 (quando moderado)

O "jogador" era controlado por um "antiguinho" RCX amarelo (884), e usava os 3 inputs e os 3 outputs. O "tabuleiro" era uma folha branca em cima de uma baseplate. As peças de jogo eram basicamente bricks 2x2 com cores diferentes. Para programar usei NQC - Not Quite C (http://bricxcc.sourceforge.net/nqc/)

Para reconhecer as peças era usado o sensor de luz (2982c01) e foram escolhidas cores  de peças e fundo para que, com as condições de luminosidade adequadas (daí o candeeiro que vêem nas imagens) pudessem ser distinguidas 3 coisas diferentes: nenhuma peça, peça nossa, ou peça adversária.

Para controlar o movimento do jogador usaram-se dois sensores de toque (879) e dois motores de 9V (71427c01). Um conjunto sensor toque+motor era usado para cada eixo (vertical e horizontal). Para reconher onde estava usavamos bricks que "activavam" o sensor de toque ao passar por eles (um "rail" onde o sensor andava e ao passar pelo brick o sensor ia "para dentro"). Com isso sabíamos se estávamos a passar na "1ª casa", "2ª casa", etc. Os motor tinham as rodas dentadas "calibradas" para maior torção e menor velocidade de modo a facilitar o controlo.

A garra para as peças foi um desafio e, "shame on us", usava um componente não lego: nas suas extremidades tinha um elástico/borracha (rubber band - até os há da LEGO, mas os que usamos não eram) para permitir que a peça não "escorregasse" tanto. A acção de um motor rotativo (penso que o 2838c01) era transformada com o auxílio de uma roldana e uma peça com um ângulo (não a estou a descobrir o número agora, mas vê-se nas fotos) para termos um lado da garra a mexer-se para apertar contra o outro para agarrar, ou para "largar" a peça.

Para colocar dentro do contexto, este MOC foi feito em 2002 no contexto de um evento chamado "DCC ao Rubro". Eu encontrava-me a terminar a minha licenciatura em Ciência de Computadores no Departamento com o respectivo nome (daí DCC) e tivemos 3 dias de actividades organizadas por alunos. Entre elas uma manhã dedicada a agentes e inteligência artificial (IA), onde colocarmos o pessoal a programar bots de pequenos tanques virtuais, e depois organizamos um torneio com "todos a monte" :) Nesse contexto, fizemos o Tic-Tac-Toe para mostrar que se podiam fazer coisas giras com IA e agentes reais, com presença física. Tinha também um pequeno rover com RCX para seguir linhas e para explorar salas (chocar contra paredes e recuar e tentar andar para um lado - com bumpers e sensores de toque na frente):



Para terminar, durante uns tempos dei umas palestras sobre Agentes e Inteligência Artificial em várias escolas secundárias (ou no DCC quando escolas nos visitavam) e, depois de outras coisas, no final mostrava sempre o LEGO. Primeiro colocava-o a seguir linhas e explicava como fazer esse comportamento. Depois mostrava um RCX "pintor": fiz um MOD para acoplar um marcador e depois corria uns programas para fazer desenhos regulares como estrelas (e oferecia aos "miúdos" depois os desenhos) e finalmente um "dançarino", que dançava ao som de música que eu próprio tinha transferido para o RCX (tocada com os "beeps" que ele permitia - usei software para a conversão). Parei o uso do LEGO na demonstração/palestra quando o departamento comprou um Robot AIBO ERS-7 (http://en.wikipedia.org/wiki/AIBO), o cãozinho da SONY, sendo que ainda tenho um ERS-7 em minha posse (um espetáculo para quem gosta de robótica!)
« Última modificação: 18 de Novembro de 2010, 07:23:05 por WhiteShadow »