Este trabalho tem como objetivo utilizar algumas funcionalidades básicas já empregadas nos trabalhos práticos anteriores a fim de participar de uma competição de robôs móveis com o objetivo de coletar diversos blocos de interesse em um campo, conforme as regras determinadas na especificação. Dentre as funcionalidades a serem utilizadas, estão:
Conforme trabalhos práticos anteriores, foram mantidos no robô: dois sensores LDR para alinhar o robô com as fontes de luz polarizadas; dois sensores break beam para controle de velocidade das rodas; e um sensor óptico reflexivo para detecção de blocos á frente do robô e identificação da cor desses blocos.
Para a tarefa de detectar a luz de início da partida, localizada no chão, um LDR diferencial foi instalado abaixo do robô, apontado para o chão.
Para capturar o bloco detectado, foi construído um mecanismo semelhante a uma garra, que se fechava e prendia o bloco ao robô após a detecção da presença do bloco à frente.
Inicialmente, o robô deveria aguardar até que a luz de início de partida se acendesse no chão. Após a detecção dessa luz pelo LDR diferencial, o robô se localizava no campo em relação às duas luzes polarizadas, sendo uma em cada extremidade do campo. Como implementado no trabalho anterior, seu posicionamento foi definido a partir da diferença máxima entre os valores lidos por dois LDRs polarizados. Essa diferença foi detectada ao longo do giro do robô.
Em seguida, o robô iniciava seu trajeto para detectar um bloco à sua frente. A locomoção do robô foi realizada de acordo com o shaft-encoder também implementado no trabalho prático anterior. Após a detecção desse bloco pelo sensor óptico-reflexivo, o robô interrompia seu movimento e era verificado se a cor do bloco não era preta, visto que a captura desse bloco acarreta em perdas na pontuação. Assim, caso o bloco fosse colorido, a garra, que se encontrava inicialmente aberta, se fechava para capturar o bloco, que acabava por se manter preso ao robô.
Após a captura do bloco, o robô realizava o caminho inverso ao realizado para chegar ao local onde o bloco se encontrava, retornando à base, onde mantêm-se os blocos. Esse processo de captura de blocos era realizado em loop até o tempo máximo de 60 segundos. Após esse período, que indica o fim da partida, todos os atuadores do robô eram desligados.