Personalidades » Histórico » Revisão 33
Revisão 32 (Carla Cosenza, 17/05/2017 13:55 h) → Revisão 33/48 (Luciano Barreira, 17/05/2017 14:17 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. > ![Defesa](defender1.jpeg) > ![Defesa](defender2.jpeg) > ![Defesa](defender3.jpeg) * 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-s.png) (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. O striker também fica com orientação para o gol inimigo. ![Striker] (Striker.png) * 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.