- Módulo de Testes para o GrSim
O módulo de testes foi criado para automatizar algumas rotinas de testes que poderiam ser interessantes para validar nossas personalidades e o passe. O primeiro teste criado foi o do goleiro.
- Teste do Goleiro
Esse teste serve para verificar a eficiência do goleiro em proteger nosso gol. Primeiro, foi criada uma VI que gera um ponto aleatório no campo dos robôs do nosso time, sendo que esse ponto não está dentro da área e nem muito próximo das margens laterais. Em seguida, outra VI vai gerar um vetor com N desses pontos aleatórios quando o botão "Generate new Random Points" localizado na tela principal do SSL Log Player for apertado. Outro detalhe é que quando paramos o software, os pontos não são apagados. O vetor só fica vazio novamente caso o software seja fechado e aberto de novo em seguida. Foi adicionado outro botão na tela inicial: reset. Ao ser apertado, o teste é iniciado a partir do primeiro ponto guardado no vetor. Assim, podemos fazer testes com duas implementações de goleiros diferentes, por exemplo, usando o mesmo conjunto de pontos.
Daí, para realizar os testes, basta clicar primeiro em Generate New Random Points e aguardar o fim do preenchimento do vetor (o led Completed Generation vai acender) e em seguida test Mode On e Replace Robots, na aba dos "testes Grsim", e então ocorre o reposicionamento automático da bola no ponto aleatório guardado no vetor e do robô atacante num ponto localizado 300 mm atrás da bola, ao longo da reta que liga a bola ao gol. Com isso, é possível fazer testes automáticos e gerar um histograma do erro do nosso goleiro, para validá-lo. Para esse teste, é importante deixar apenas o goleiro e um robô atacante ligados, para que o campo fique livre . O reposicionamento automático da bola ocorre mediante duas condições: ou a bola saiu do campo ou sua velocidade adquiriu o sentido positivo do eixo x (contrário ao sentido em que o atacante vai chutar), o que siginifica que ela pode ter sido defendida ou bateu na trave.
![](teste_goleiro.png)
Preenche-se no campo id a id do robô atacante a ser reposicionado, e no campo Number of Points a quantidade de pontos aleatórios que deve ser gerada.
- Teste do Atacante
O teste do atacante serve para verificar a sua eficiência na interceptação ds bola. Foi feito da seguinte forma: gera-se um ponto aleatório no nosso campo e também no campo do inimigo. Coloca-se a bola na posição desse ponto aleatório do campo inimigo, com uma velocidade em direção ao ponto aleatório do nosso campo. O módulo dessa velocidade é escolhido por nós na VI principal Log Player (o default está definido como 2000). O reposicionamento automático da bola ocorre mediante duas condições: ou a bola saiu do campo ou sua velocidade adquiriu o sentido negativo do eixo x após ter sido chutada.
Para realizar o teste, primeiro é preciso entrar na aba de GrSim Modo Teste e clicar em Generate new random points. Esse botão vai gerar dois vetores de pontos aleatórios, um em cada lado do campo. Em seguida, selecionando Test Attacker e escolhendo-se o módulo da velocidade desejada, basta clicar em Test Mode para iniciar a sequência de testes. Um detalhe: o botão Replace Robots, por hora, deve ficar desligado. Ele serve para reposicionar automaticamente o robô atacante também, mas para esse teste a ideia é justamente observar a movimentação e rapidez desse robô para interceptar a bola. Entretanto, como futuramente talvez seja interessante reposicionar o atacante também para algum outro teste semelhante a esse, durante a implementação foi mantida essa opção, havendo uma VI de robot pose que só precisaria ser modificada quando quisermos. Nesse teste, deve-se deixar apenas um robô atacante ligado.
![](teste_atacante.png)
Segue vídeo do funcionamento desse teste:
- Teste do Passe
Esse teste funciona da seguinte forma: deixando ligados os botões TestMode, TestPasse e Replace Robots na vi principal SSL Log Player, a bola e o robô atacante são reposicionados automaticamente em um ponto aleatório do nosso campo, com o robô 500 mm atrás orientado para o gol inimigo. Nesse momento, o estado do jogo é alterado para Stop (durante 1 segundo) e após esse tempo o estado muda para Indirect Free Ally, o que faz o Pass State ficar ativado. Dessa maneira, o atacante se orienta e chuta a bola em direção ao ponto em que o striker deve estar para interceptá-la. O striker nesse teste não é reposicionado, ele fica livre para se movimentar conforme deveria durante o Pass State, para que possamos testar a eficiência de nosso passe e da interceptação da bola. A condição para dar um novo replace automático da bola e do robô foi definida para ser 3 segundos após o chute do atacante. Dessa forma é possível observar a conclusão do passe antes do próximo teste.
![](teste_passe.png)
Segue vídeo do funcionamento desse teste:
Atualizado por Rebeca Reis há mais de 6 anos · 4 revisões