Projeto

Geral

Perfil

Personalidades » Histórico » Revisão 23

Revisão 22 (Nicolas Oliveira, 14/05/2017 02:43 h) → Revisão 23/48 (Nicolas Oliveira, 14/05/2017 02:43 h)

# Personalidades 

 Segue descrição genérica do comportamento de cada personalidade: 

 * Defesa 
 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.  

 * Atacante 
 O atacante é baseado em uma máquina de estado com as seguintes características: 
 > Estados: 
        > > 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ô; 
        > > 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; 
 ![Esquema do GoToTangent] (gototangent.png) 
        > > Rotate around the ball: Realizar uma rotação ao redor dessa circunferencia a fim de realizar o alinhamento entre target, bola e robô; 

     

 > Transições: 
     
 > > Constam de condições para mudança entre estados. 

 FSM (*Finite State Machine*) detalhada: 
 ![FSM detalhada] (FSM.png) 
 Representação simplificada: 
 ![FSM simplificada] (fsm-diagram.png) 


 * Striker 
     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. 
 A decisão de se criar esta personalidade foi realizada como proposta da solução de dois problemas, uma vez que: 
 > * Um robô não pode realizar duplo toque após comandado um Force Start pelo Juiz e 
 > * Um atacante monolítico, ou seja, uma única entidade responsável por conquistar a posse de bola é ineficaz. 
    
     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. 


 * Goalie 
 O papel principal do Goalie é interceptar a bola sem que esta atinga o gol. Para isso, é necessário que o goleiro, de forma ágil,  
 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  
 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  
 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 é  
 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 
  se posiciona na ponta mais próxima do gol. Quando a bola entra em campo, o robô chuta alto para frente.