Projeto

Geral

Perfil

Personalidades » Histórico » Versão 29

Nicolas Oliveira, 16/05/2017 03:06 h

1 10 Luciano Barreira
# Personalidades
2 1 Luciano Barreira
3 10 Luciano Barreira
Segue descrição genérica do comportamento de cada personalidade:
4 1 Luciano Barreira
5
* Defesa
6 10 Luciano Barreira
A estratégia da defesa é criar uma parede de robôs. Para fazer isso, o primeiro robô designado a defesa irá ocupar a intersecção da linha, que conecta o centro do gol com a bola, com a circunferência com centro no meio do gol e raio de 'r + l + d', onde 'r' é o raio do robô, 'l', a distância do gol ao começo da semicircunferência do gol, e 'd', o raio dessa semicircunferência. Os outros robôs designados a defesa irão, alternadamente, cada lado da barragem, ao longo da circunferência previamente citada, com uma distância de '2r' do robô mais próximo. Isso irá evitar que a bola chegue no gol já que a parede de robôs sempre estará em sincronia com a bola. 
7 1 Luciano Barreira
8 29 Nicolas Oliveira
>>
9 27 Nicolas Oliveira
![Defesa](defender1.jpeg)
10 28 Nicolas Oliveira
11
12 27 Nicolas Oliveira
![Defesa](defender2.jpeg)
13 28 Nicolas Oliveira
14
15 27 Nicolas Oliveira
![Defesa](defender3.jpeg)
16 28 Nicolas Oliveira
17
18 27 Nicolas Oliveira
19 24 Nicolas Oliveira
20 1 Luciano Barreira
* Atacante
21
O atacante é baseado em uma máquina de estado com as seguintes características:
22 17 Carla Cosenza
> Estados:
23
       > > Goto and kick: Ir em direção a bola e realizar um chute a gol, quando em posição adequada para tal, ou seja atrás da bola e minimamente alinhados bola, target e robô;
24 19 Carla Cosenza
       > > Goto tangent: Ir para a tangente a uma circuferencia criada ao redor da bola, quando o robô está distante de bola e não alinhado com ela e o gol;
25 18 Nicolas Oliveira
![Esquema do GoToTangent] (gototangent.png)
26 17 Carla Cosenza
       > > Rotate around the ball: Realizar uma rotação ao redor dessa circunferencia a fim de realizar o alinhamento entre target, bola e robô;
27 22 Nicolas Oliveira
28 23 Nicolas Oliveira
    > Transições:
29
    > > Constam de condições para mudança entre estados.
30 10 Luciano Barreira
31
FSM (*Finite State Machine*) detalhada:
32
![FSM detalhada] (FSM.png)
33 2 Luciano Barreira
Representação simplificada:
34 10 Luciano Barreira
![FSM simplificada] (fsm-diagram.png)
35 1 Luciano Barreira
36 2 Luciano Barreira
37
* Striker
38 15 Nicolas Oliveira
    O papel do striker consiste em se posicionar em posições favoráveis em campo para receber rebotes ou substituir o atacante quando este está impedido de chutar.
39 2 Luciano Barreira
A decisão de se criar esta personalidade foi realizada como proposta da solução de dois problemas, uma vez que:
40 4 Luciano Barreira
> * Um robô não pode realizar duplo toque após comandado um Force Start pelo Juiz e
41 13 Carla Cosenza
> * Um atacante monolítico, ou seja, uma única entidade responsável por conquistar a posse de bola é ineficaz.
42 16 Nicolas Oliveira
    
43 26 Carla Cosenza
    Para isso, o striker fica posicionado uma distância *d* do atacante (no eixo x) e na metade do outro lado do campo (no eixo y). Assim, se a bola for para trás do atacante, o striker vai poder pegá-la com mais facilidade.
44 11 Carla Cosenza
45 5 Luciano Barreira
46
* Goalie
47 6 Luciano Barreira
O papel principal do Goalie é interceptar a bola sem que esta atinga o gol. Para isso, é necessário que o goleiro, de forma ágil, 
48 7 Luciano Barreira
se posicione em uma região do gol em que a probabilidade de que a bola entre no gol seja mínima. Como uma solução intuitiva para 
49
o problema, o Goalie se posiciona na região do gol mais próxima da linha de campo para qual o robô inimigo que tem posse de bola 
50 8 Luciano Barreira
está orientado. Caso não haja posse de bola inimiga e a bola está se movimentando em direção ao gol, o Goalie se posiciona onde é 
51 9 Luciano Barreira
provável que a bola atinja, com base em estimativas da velocidade de bola. Caso esta posição esteja fora do segmento do gol, o goleiro
52
 se posiciona na ponta mais próxima do gol. Quando a bola entra em campo, o robô chuta alto para frente.