Project

General

Profile

Actions

Atividade #1193

closed

Fazer nova skill de posicionamento para o 2ndStriker

Added by Felipe Welington almost 5 years ago. Updated over 4 years ago.

Status:
Fechada
Priority:
Normal
Start date:
09/25/2019
Due date:

Description

Essa tarefa destina-se a criação/reformulação do antigo posicionamento do 2nd striker para o passe.


Files

angulos.png (11.9 KB) angulos.png Gustavo Atala Testoni, 03/01/2020 02:40 PM
incentro.png (18.3 KB) incentro.png Gustavo Atala Testoni, 03/01/2020 02:40 PM
regiaodesenhada.png (11.9 KB) regiaodesenhada.png Gustavo Atala Testoni, 03/01/2020 02:40 PM
robosextremidades.png (12.8 KB) robosextremidades.png Gustavo Atala Testoni, 03/01/2020 02:40 PM
Actions #1

Updated by Gabriel Borges da Conceição over 4 years ago

  • Assignee set to Gustavo Atala Testoni

Tarefa já realizada. Faltam testes.

Actions #2

Updated by Nicolas Oliveira over 4 years ago

mudou algo na lógica? reportar oq foi feito.

Updated by Gustavo Atala Testoni over 4 years ago

O 2nd Striker seria um robô que dá mais opções de passe, mas sem "roubar" a posição do Striker, e, além disso, em caso de contra-ataque adversário, o 2nd deveria voltar para ajudar na defesa. Por isso, ele deve ter um avanço limitado. E, para achar sua posição, ele procura a maior abertura na defesa adversária, respeitando o limite no avanço dele.

Primeiramente, para restringir o posicionamento dele, o campo de ataque é dividido em 3 regiões. O ângulo alpha pode ser alterado mudando o ponto P caso necessário, mas inicialmente, foi decidido que o ponto P é o ponto (L/6,-h/2). regiaodesenhada.png

Para achar a maior abertura, considera-se as retas que ligam os robôs inimigos (exceto o goleiro) ao centro do gol e calcula-se os ângulos entre as retas adjacentes. Se todos os robôs inimigos estiverem na região delimitada anteriormente, as extremidades da região são consideradas no cálculo dos ângulos. angulos.png

Depois, escolhe-se a "sub-região" com maior ângulo, e é calculado o incentro do triangulo formato pelas retas dessa sub-região, e a reta que liga o centro do campo ao ponto P. No entanto, caso o incentro esteja fora da região delimitada no início, procura-se o segundo maior ângulo e calcula-se o incentro, para ser a posição do 2nd Striker. incentro.png

Para analisar completamente todos os ângulos possíveis, deve-se considerar os ângulos entre os robôs inimigos que estão dentro da região, mais proximos da extremidades desta, e as extremidades. Caso esse ângulo seja maior que o calculado anteriormente, calculá-se o incentro dessa ultima sub-região, e essa será a posição do 2nd Striker. robosextremidades.png

Por fim, há 2 situações que devem ser evitadas.
1- O 2nd Striker ficar entre a bola e o gol, atrapalhando um chute direto (ficar a uma distancia menor que 250mm da reta que liga a bola ao gol):
Caso isso aconteça, o 2nd Striker se move sobre a reta perpendicular a reta anterior em direção ao centro do campo, até que a distância seja respeitada.

2- O 2nd Striker fica muito perto do Striker (fica a uma distância menor que (diagonal_do_campo/10):
Caso isso aconteça, o 2nd Striker se move em direção ao centro do campo, até que a distância seja respeitada.

Actions #4

Updated by Gabriel Borges da Conceição over 4 years ago

Muito bom!

Em breve vamos testar o comportamento do robô no campo e realizar alguns ajustes se for necessário.

Actions #5

Updated by Gabriel Borges da Conceição over 4 years ago

  • Status changed from Em andamento to Fechada
Actions

Also available in: Atom PDF