Atividade #1441
FechadaDesenho da arquitetura da IA relacionada aos STP
Descrição
Após a verificação que a grande maioria das equipes da RoboCup ainda está usando STP, decidimos que essa será a estrutura da IA do nosso novo código.
O primeiro passo, que é essa tarefa, será o desenho das classes que irão constituir essa arquitetura para facilitar a futura implementação.
Artigos relacionados ao STP:
Artigo original STP
Novo artigo de 2016
Vale a pena também dar uma olhada em como as outras equipes estão implementando essas classes.
Arquivos
Atualizado por Lucas Germano há 6 meses
- Situação alterado de Não Iniciada para Em andamento
Atualizado por Lucas Germano há 6 meses
- Arquivo clipboard-202405212125-snars.jpg clipboard-202405212125-snars.jpg adicionado
Atualmente esse é o estado da documentação da IA:
Algumas coisas que precisamos definir:
- Na seleção de plays, quantas plays iremos selecionar?
As possibilidades são: - Selecionar 1 play para o time inteiro, isso irá aumentar consideravelmente o número de plays criadas, pois qualquer variação na defesa ou no goleiro, por exemplo, teriamos que criar uma nova play
- Continuar como era antes e ter 1 play para o ataque, 1 play para a defesa e 1 play para o goleiro
- Precisamos definir exatamente os conceitos de Tactic e Skill. No código da tigers por exemplo eu não vi eles usarem tactic, a própria Role já possui uma máquina de estado de skills. Exemplo: https://github.com/TIGERs-Mannheim/Sumatra/blob/b8f3bf7c40ad00fbd614861b3c0e8817243079d6/modules/moduli-ai/src/main/java/edu/tigers/sumatra/ai/pandora/roles/offense/attacker/AttackerRole.java#L44
Atualizado por Lucas Germano há 6 meses
- Arquivo clipboard-202406022317-6tkpi.png clipboard-202406022317-6tkpi.png adicionado
Relendo o artigo do STP pude notar um detalhe interessante, que vale a pena trazer aqui para sabermos se vamos implementá-lo dessa maneira:
Dentro de uma play existem várias roles que possuem suas sequência de tactics, assim como descrito na imagem abaixo:
No artigo eles citam que o robô somente irá passar para a próxima tactic uma vez que todos os outros robôs tenham finalizado a tactic anterior:
There is only one active tactic amongst the roles per step in the sequence. The successful completion of the active tactic is used to trigger the transition to the next step in the sequence for all roles in the play
Acredito que esse é um comportamento que torna mais fácil de programar as plays e não me lembro se é feito essatamente assim no labview @Ebert Melo saberia dizer?
Apesar dessa facilidade talvez isso engesse um pouco as plays pois parece tirar a fluidez entre as roles. Por exemplo: não necessariamente a ROLE 1 precisa esperar a ROLE 3 receber o passe para ir marcar, ela já pode ir marcar imediatamente após fazer o passe.
Atualizado por Lucas Germano há 6 meses
Lucas Germano escreveu (#note-4):
Atualmente esse é o estado da documentação da IA:
Algumas coisas que precisamos definir:
- Na seleção de plays, quantas plays iremos selecionar?
As possibilidades são:
- Selecionar 1 play para o time inteiro, isso irá aumentar consideravelmente o número de plays criadas, pois qualquer variação na defesa ou no goleiro, por exemplo, teriamos que criar uma nova play
- Continuar como era antes e ter 1 play para o ataque, 1 play para a defesa e 1 play para o goleiro
- Precisamos definir exatamente os conceitos de Tactic e Skill. No código da tigers por exemplo eu não vi eles usarem tactic, a própria Role já possui uma máquina de estado de skills. Exemplo: https://github.com/TIGERs-Mannheim/Sumatra/blob/b8f3bf7c40ad00fbd614861b3c0e8817243079d6/modules/moduli-ai/src/main/java/edu/tigers/sumatra/ai/pandora/roles/offense/attacker/AttackerRole.java#L44
Com relação às plays eu acho que vale a pena continuar com as 3 plays: goleiro, defesa e ataque. Deixar uma play só acho que só dificultaria aumentando o número de plays, apesar de no artigo do STP ele fala que só existe uma play ativa em qualquer momento (menos o goleiro que ele separa e diz que não existe play para o goleiro).
Com relação aos conceitos de tactic e skill eu acho que se resume a responder o comentário anterior, se formos fazer essa sequência ordenada de ações então com certeza precisaremos das tactics.
Atualizado por Ebert Melo há 6 meses
Lembrar de Selecionar as play e os robos sincronamente para evitar problemas de deixar de selecionar um robô ou escolher o mesmo duas vezes
Atualizado por Lucas Germano há 3 meses
- Situação alterado de Em andamento para Resolvida
Atualizado por Lucas Germano há 3 meses
- Situação alterado de Resolvida para Fechada