Arquitetura de Software » Histórico » Versão 15
Luciano Barreira, 13/05/2017 20:50 h
1 | 14 | Luciano Barreira | # Arquitetura de Software |
---|---|---|---|
2 | 1 | Luciano Barreira | |
3 | 2 | Luciano Barreira | O Software é basicamente subdividido em cinco estágios, conforme fluxo de informação: Leitura, Pré-Processamento, Tomada de Decisão (Inteligência Artificial), Controle e Transmissão. |
4 | Os módulos que compõem estes estágios estão descritos a seguir: |
||
5 | 13 | Luciano Barreira | 1. Leitura : SSL-Vision e Ref Box |
6 | 2. Pré-Processamento: Game State e Judge State |
||
7 | 3. Tomada de Decisão: Role Set e Tactics |
||
8 | 4. Controle : Obstacle Avoidance e Path Planning |
||
9 | 5. Transmissão : Transmission |
||
10 | 1 | Luciano Barreira | |
11 | 13 | Luciano Barreira | --- |
12 | 1 | Luciano Barreira | |
13 | 13 | Luciano Barreira | ## Leitura |
14 | |||
15 | 1 | Luciano Barreira | Os módulos SSL-Vision e Ref Box são responsáveis por receber os pacotes, respectivamente, do SSLVision e do RefBox, softwares padronizados da liga. As informações coletadas são então enviadas para os módulos Game State e Judge State, responsáveis por processar estas informações. |
16 | 3 | Luciano Barreira | |
17 | 13 | Luciano Barreira | --- |
18 | 1 | Luciano Barreira | |
19 | 13 | Luciano Barreira | ## Pré-Processamento |
20 | |||
21 | * Game State : Neste módulo é estimado um estado de jogo confiável, ou seja, é neste módulo em que ocorrem filtragens, com objetivo de mitigar erros de observação das câmeras. O principal algoritmo utilizado para filtragem é um [Filtro de Kalman](http://robotsforroboticists.com/kalman-filtering/) . É possível escolher entre métodos de filtragem na interface gráfica (GUI) principal e observar as diferenças em tempo real entre os métodos. |
||
22 | 4 | Luciano Barreira | * Ref Box : Com base em comandos atuais e anteriores, é possível obter uma relação entre os comandos enviados pelo Juiz e estados da partida, como Meio de Campo, Tiro Direto e Pênalti. Neste módulo, são tratados os modos do Juiz a fim de gerar informações mais "amigáveis" para o desenvolvimento de algoritmos de tomada de decisão. |
23 | 1 | Luciano Barreira | |
24 | 13 | Luciano Barreira | ## Inteligência Artificial |
25 | 1 | Luciano Barreira | |
26 | 13 | Luciano Barreira | --- |
27 | 5 | Luciano Barreira | |
28 | 13 | Luciano Barreira | ### [[Decisão de Personalidades (Role Set)]] |
29 | |||
30 | 1 | Luciano Barreira | Neste módulo é definido o papel de cada robô consoante estado de jogo. |
31 | 5 | Luciano Barreira | |
32 | 15 | Luciano Barreira | ### [[Personalidades]] |
33 | 1 | Luciano Barreira | |
34 | 8 | Luciano Barreira | Neste módulo é definido o comportamento de cada personalidade de acordo com o estado do jogo. |
35 | |||
36 | 13 | Luciano Barreira | --- |
37 | 6 | Luciano Barreira | |
38 | 13 | Luciano Barreira | ## Controle |
39 | |||
40 | 9 | Luciano Barreira | Responsável pelo controle do robô em campo. Neste módulo é feito o cálculo de trajetória dos robôs, de modo a atingir o objetivo de maneira ótima e evitar colisão com outros robôs. |
41 | |||
42 | 13 | Luciano Barreira | --- |
43 | |||
44 | ## Transmissão |
||
45 | 12 | Luciano Barreira | |
46 | Responsável pelo envio de informação para o robô ou para o simulador. |