Atividade #703
FechadaObjetivo #583: Melhorar a defesa
Duelist
Descrição
O objetivo dessa tarefa é definir os critérios de implementação do Duelist: comportamento de marcação executado tanto pelo Attacker quanto pelos Centers Back em determinadas situações.
Arquivos
Atualizado por Gabriel Borges da Conceição há mais de 6 anos
Nosso objetivo é implementar esse comportamento tanto para o Attacker quanto para um zagueiro em determinadas situações.
Atualmente, nosso Attacker já realiza função similar. O que queremos acrescentar é a utilização do algoritmo da ER Force para fazer o duelist chegar à frente do robô com posse de bola no menor tempo possível.
Faremos o Attacker se posicionar na reta (inimigo com a bola)----gol e depois ir em direção à bola. A ideia da implementação é usar o algoritmo mencionado para determinar para qual ponto dessa reta ele deve ir.
Ainda não entendi o algoritmo.
Iremos também implementar comportamento similar ao duelist para um dos 3 zagueiros em situações do tipo: Robô inimigo com a bola se encontra a uma certa distância da área e etc.
Ainda vamos definir quais situações serão essas e aceito sugestões.
Atualizado por Nicolas Oliveira há mais de 6 anos
A princípio n vamos mudar o comportamento do attacker e já existem condições que ditam o avanço da defesa. Elas funcionam bem, cerrar com o germano para que ele possa te explicar. Vc deve mexer apenas no modo como ele avança.
Atualizado por Gabriel Borges da Conceição há mais de 6 anos
Por questão de tempo e prioridades, não fizemos a implementação do código da ER Force ou similar para o duelist.
A opção foi:
Quando a bola estiver próxima ao inimigo, o duelist deveria chutar a bola contra ele. Caso contrário, chutar em direção ao gol adversário.
Ao iniciar esse implementação, percebemos que isso já estava sendo feito, porém dependia da ocorrência do evento Enemy Ball Possession.
Quando esse evento ocorre, o inimigo está a 220 mm da bola (muito próximo). Então sempre que chega-se a essa situação, o adversário sempre chuta a bola antes, ou seja, dificilmente era visto que o duelist chutava a bola para cima do inimigo.
Então, foi criada uma VI para gerar Evento de posse de bola inimiga só para este caso, cujas condições são: Dist (inimigo--bola) <= 500 e módulo do ang (inimigo--bola) <= 0,3 rad.
Atualizado por Lucas Germano há mais de 6 anos
Gabriel Borges da Conceição escreveu:
Por questão de tempo e prioridades, não fizemos a implementação do código da ER Force ou similar para o duelist.
A opção foi:
Quando a bola estiver próxima ao inimigo, o duelist deveria chutar a bola contra ele. Caso contrário, chutar em direção ao gol adversário.
Ao iniciar esse implementação, percebemos que isso já estava sendo feito, porém dependia da ocorrência do evento Enemy Ball Possession.
Quando esse evento ocorre, o inimigo está a 220 mm da bola (muito próximo). Então sempre que chega-se a essa situação, o adversário sempre chuta a bola antes, ou seja, dificilmente era visto que o duelist chutava a bola para cima do inimigo.Então, foi criada uma VI para gerar Evento de posse de bola inimiga só para este caso, cujas condições são: Dist (inimigo--bola) <= 500 e módulo do ang (inimigo--bola) <= 0,3 rad.
Seria bom adicionar mais este evento no cluster de eventos da inteligência, ele é importante para o módulo estatístico também
Atualizado por Gabriel Borges da Conceição há mais de 6 anos
Fiz a última implementação descrita também para o atacando contra.
E com isso, pude perceber que o fato de depender do ângulo atrapalha pelo seguinte motivo: o inimigo varia sua orientação enquanto chega à bola. Com isso, o ângulo analisado saía do range e o duelist mudava a direção de chute, o que fazia ele ficar mudando sua trajetória toda hora.
Por isso, não está dependendo mais do ângulo. Porém, pode voltar a depender por fácil mudança no código.
Os vídeos serão postados.
Atualizado por Gabriel Borges da Conceição há mais de 6 anos
Lucas Germano escreveu:
Gabriel Borges da Conceição escreveu:
Por questão de tempo e prioridades, não fizemos a implementação do código da ER Force ou similar para o duelist.
A opção foi:
Quando a bola estiver próxima ao inimigo, o duelist deveria chutar a bola contra ele. Caso contrário, chutar em direção ao gol adversário.
Ao iniciar esse implementação, percebemos que isso já estava sendo feito, porém dependia da ocorrência do evento Enemy Ball Possession.
Quando esse evento ocorre, o inimigo está a 220 mm da bola (muito próximo). Então sempre que chega-se a essa situação, o adversário sempre chuta a bola antes, ou seja, dificilmente era visto que o duelist chutava a bola para cima do inimigo.Então, foi criada uma VI para gerar Evento de posse de bola inimiga só para este caso, cujas condições são: Dist (inimigo--bola) <= 500 e módulo do ang (inimigo--bola) <= 0,3 rad.
Seria bom adicionar mais este evento no cluster de eventos da inteligência, ele é importante para o módulo estatístico também
Então você quer que seja adicionado outro evento de posse de bola inimiga ao cluster de eventos, porém esse com distância de tolerância maior?
Atualizado por Gabriel Borges da Conceição há mais de 6 anos
- Arquivo duelist1.mp4 duelist1.mp4 adicionado
- Arquivo duelist2.mp4 duelist2.mp4 adicionado
- Arquivo duelist3.mp4 duelist3.mp4 adicionado
- Situação alterado de Em andamento para Feedback
Implementação aparentemente terminada:
Lógica:
1. Calcula-se o inimigo mais próximo à bola.
2. Analisamos a distância dele para a bola:
2.1 Se essa distância é maior que 500 mm, o Duelist deve ir em direção à bola e chutar para o gol adversário.
2.2 Caso essa distância seja menor que 500 mm faz-se a seguinte análise:
2.2.1 Caso o Duelist esteja mais próximo da bola que o inimigo, deve chutar para o gol adversário
2.2.2 Caso o Duelist esteja mais longe da bola que o inimigo, deve ir em direção à bola mirando chutar no adversário. Dessa forma, o zagueiro faz um bloqueio ao ir em direção à bola.
VÍDEOS:
Atualizado por Gabriel Borges da Conceição há mais de 6 anos
O código final está na branch drible, tanto para o Duelist quanto para o Center Back.
Atualizado por Gabriel Borges da Conceição há mais de 6 anos
- Situação alterado de Feedback para Resolvida
- Prioridade alterado de Normal para Baixa
Atualizado por Gabriel Borges da Conceição há mais de 6 anos
- Situação alterado de Resolvida para Fechada