Atividade #112
FechadaMeta #80: Melhorar o estimador do Juiz
Resolver Toque Duplo
Adicionado por Luciano Barreira mais de 7 anos atrás. Atualizado quase 7 anos atrás.
Descrição
Atualmente, a possibilidade de toque duplo na bola não está sendo tratada.
[Regras de 2017](http://redmine.roboime.com.br/documents/10) (veja seção 9.3)
![avoid](avoid.png)
Arquivos
Atualizado por Nicolas Oliveira há mais de 7 anos
- Atribuído para alterado de Intel para Nicolas Oliveira
- Versão ajustado para RoboCup 2017
Foi criado um gerador de eventos aonde é criado o estado do jogo, sendo um desses eventos o toque de bola por parte de algum robô.
Tornei a parte de escolha de personalidade um pouco mais simples e bem mais fácil de ser modificada.
Em seguida implementei um algorítimo de forma que após o pontapé inicial de um force start esse robô não poderia chutar novamente até haver toque por parte de outro robô.
O único problema encontrado é que eu calculo quantos chutes foram dados a partir do começo do force start para saber se é o primeiro chute - que é livre para qualquer robô - ou se é o segundo chute - que n é permitido para o robô que executou o anterior - porém quando há um toque, são contados vários, devido ao evento de toque ser apenas uma proximidade ao robô.
Assim dependendo do frame rate e do jeito que o robô se aproxima da bola é contada uma quantidade diferente de toques, o q está impossibilitando a minha implementação completa.
Já tentei alterar a distância que considero como toque e n foi muito efetivo.
Como faço para que seja contado o toque apenas uma vez??
Atualizado por Nicolas Oliveira há mais de 7 anos
Esta na branch feature-avoid
[Link](https://github.com/roboime/SSLView/blob/feature-avoid/DynamicPersonality.vi) da VI principal
Atualizado por Luciano Barreira há mais de 7 anos
Concorda que o número de transições é um parâmetro melhor para alterar o estado Normal e de Avoid? Conte o número de transições TRUE->FALSE em vez de TRUE->TRUE, e observe o resultado obtido.
Atualizado por Nicolas Oliveira há mais de 7 anos
Resolvido problema de toques múltiplos.
VI para decidir se estamos no estado que n podemos dar dois toques funcionando bem.
Porém ainda temos pequenas situações n contempladas pela escolha de personalidade dinâmica, porém com os testes ele estão sendo corrigidos.
No entanto, às vezes, um toque é considerado antes do robô executar realmente um chute, o que leva o robô a conduzir a bola.
Atualizado por Nicolas Oliveira há mais de 7 anos
Na VI [Avoid](https://github.com/roboime/SSLView/blob/feature-avoid/Intel/AvoidCarla.vi) que é uma máquina de estados para saber se estamos no estado normal de jogo ou no avoid (devemos evitar o toque duplo), precisamos saber se a uma troca no comando do juiz de algum comando para Force Start.
Para tal precisamos armazenar o valor do comando do juiz da ultima execução da VI com um feedback node, porém não estava sendo detectada a transição dessa forma.
Quando adicionamos um delay de 10 no feedback node, ou seja, ele pega agora um valor de cmd de 10 execuções da VI atrás, funciona bem.
Porém estamos na dúvida se isso pode ser afetado pelo frame rate ou outras coisas foras do nosso controle.
Atualizado por Nicolas Oliveira há mais de 7 anos
- Situação alterado de Em andamento para Resolvida
Atualizado por Nicolas Oliveira há mais de 7 anos
Na vdd a regra fala sobre quando a bola entra em jogo * sem ser por um force-star * não podemos dar toque duplo.
Só mudar as condições de entrada no estado de avoid.
Atualizado por Nicolas Oliveira há mais de 7 anos
- Situação alterado de Resolvida para Em andamento
A troca de personalidades entre striker e attacker é satisfatória, porém entre attacker e defender ficou bem ruim, os robôs n são rápidos suficiente para n perdermos a posse de bola durante a troca.
O que realmente resolve o toque duplo é o robô conseguir se aproximar bem da bola, utilizar drible e ter sensor de chute funcionando bem.
Atualizado por Nicolas Oliveira há mais de 7 anos
O avoid considera o toque do inimigo para sair do avoid, q é correto, porém considera o toque do inimigo para entrar em avoid, o q está incorreto.
Atualizado por Leonardo Gomes Goncalves há quase 7 anos
- Situação alterado de Em andamento para Fechada
Fechamento de todas atividades passadas visando renovação para 2018 do redmine da inteligência.