Este trabalho é constituído de 3 partes, relativas á 3 novas tarefas a serem desempenhadas pelo robô:
1) Lançamento de um objeto em direção a uma fonte de luz polarizada, através de um sistema de catapulta;
2) Deslocamento através de um campo com um mapa já conhecido, utilizando-se um algoritmo wavefront;
3)Funcionamento do robô por 60 segundos, contados a partir do acionamento de uma luz no campo (um sensor deveria detectar essa luz).
Para a montagem da catapulta, diversos modelos da mesma foram pesquisados. Primeiramente, tentou-se implementar um modelo típico, com um braço tensionado por elásticos. As dificuldades encontradas para esse modelo foram: tamanho da montagem (seria de difícil acoplação no robô) e dificuldade em armar a catapulta sem ajuda externa. Sobre a armação da catapulta foi tentado usar um braço que abaixasse a ponta da mesma, ligado ao motor extra, mas não deu muito certo. Depois, foi tentado um modelo que simplesmente girasse diretamente ligado ao motor extra, mas esse modelo se mostrou instável. Por fim, veio da idéia de implementar um modelo “atirador”, que era mais compacto e viável de ser acoplado ao robô. Mas ainda sim tinha um problema: como fazer o armamento automático? Foi então que descobrimos que os membros de outro grupo tinham comprado peças sobressalentes do kit, então pedimos que nos dessem uma engrenagem. Assim, cortamos alguns dentes dessa engrenagem e o problema estava resolvido, o robô era capaz de atirar a bola em direção á luz polarizada satisfatoriamente.
Esse algoritmo divide o campo em quadrados de 30cm x 30cm, como uma matriz, onde cada posição da matriz corresponde a um quadrado do campo. Então as posições no campo determinantes são especificadas, como obstáculos, ponto de partida, ponto de chegada e bordas do campo. Os obstáculos e bordas são numerados com valores altos, para impedir que o robô ultrapasse esses pontos, enquanto que, a partir do ponto de saída, as casas vizinhas vão aumentando seu valor relacionado gradativamente. O robô sempre se movimenta para a próxima casa de menor valor, até conseguir um caminho ótimo para chegar ao alvo. O controle P e D, implementados anteriormente, foram incorporados ao Wavefront para otimizar o deslocamento do robô.
O sensor de partida deveria identificar a luz de partida no campo e, com isso, acionar o funcionamento do motor. Para a implementação foi utilizado um sensor LDR acoplado á parte inferior do robô, que manda um sinal digital para o mesmo iniciar sua atividade.
Para o desligamento total do robô aos 60 segundos, viu-se a necessidade de fazer uma rotina em paralelo com o resto do algoritmo. Assim que o funcionamento do robô era iniciado, uma thread era iniciada por 60 segundos e, quando terminada, desligava totalmente o robô, independentemente de sua atividade no momento.
Algumas das dificuldades encontradas ainda no 1o trabalho se repetiram nesse, como o erro causado num giro não exato, porém os erros forma um pouco menos acentuados. Além disso a falta de peças lego dificultou a montagem da catapulta e intertravamento de todas as partes. Outra dificuldade foi a estabilidade da montagem quando a catapulta era acionada, algumas vezes as engrenagens saíam do lugar, mas adaptações foram feitas para consertar isso. O fato do modelo utilizado ser de um “shooter”, o objeto inicialmente não adquiria altura no lançamento, o que trouxe a necessidade de se inclinar a montagem um pouco.