|
|
Linha 33: |
Linha 33: |
| {{Collapse bottom}} | | {{Collapse bottom}} |
| | | |
− | ==Requisitos funcionais==
| |
− | '''RF01 O sistema deve permitir criação e gerência de cadastro de um robô.'''
| |
− |
| |
− | Cadastrar no S.A dados do robô via interface de controle: Nome, Usuário, Cor para identificação, endereço MAC? IP?
| |
− |
| |
− | '''RF02 O sistema de deve manter um histórico das partidas realizadas.'''
| |
− |
| |
− | Quando a partida encerrar, o S.A. irá armazenar nome dos participantes e pontuação. Irá armazenar as 10 últimas partidas.
| |
− |
| |
− | '''RF03 O sistema deve ser capaz de fazer a autenticação dos robôs cadastrados.'''
| |
− |
| |
− | Quando a partida for "cadastrada" o S.A. irá autenticar os dados antes de iniciar a partida. irá registrar a posição inicial e zerar o score.
| |
− |
| |
− | '''RF04 Os robôs devem ser capazes de operar nos modos manual e autônomo.'''
| |
− |
| |
− | Quem irá definir, o S.R ou o S.A.? Será necessário criar uma interface comandos de deslocamento.
| |
− |
| |
− | '''RF05 O sistema deve validar e contabilizar as caças já encontradas pelo robô.'''
| |
− |
| |
− | O S.R enviará a localização ao S.A que irá validar a “captura da caça”/chegada ao ponto. Quando validada a captura, irá incrementar a pontuação.
| |
− |
| |
− | '''RF06 O sistema deve dar início a partida, sortear os locais das caças e informá-los aos robôs.'''
| |
− |
| |
− | Quando os robôs estiverem posicionados (ficaram em vértices opostos), o S.A. irá sortear a posição das caças e enviar aos robôs. Após isso se dará o início da partida.
| |
− |
| |
− | '''RF07 O sistema deve prover uma interface de monitoramento para o robô em modo autônomo.'''
| |
− |
| |
− | O S.A irá enviar a pontuação das caças validadas para o S.R. O S.R. irá também descrever em sua tela os movimentos do robô e as coordenadas.
| |
− |
| |
− | '''RF08 O sistema deve prover uma interface de controle e monitoramento para o robôs em modo manual.'''
| |
− |
| |
− | Será necessário criar para o S.R. uma interface comandos de deslocamento e o monitoramento pode aproveitar a estrutura descrita no RF07
| |
− |
| |
− | '''RF09 O sistema deve permitir que, quando em modo autônomo, o robô execute os movimentos programados a partir do algoritmo implementado.'''
| |
− |
| |
− | Terá que implementar um algoritmo de procura para o S.R.. Ir para caça mais próxima? Ir para onde tem mais caças?
| |
− |
| |
− | '''RF010 O sistema deve permitir pausa e reset da partida.'''
| |
− |
| |
− | Quem pausa? Se jogadores poderem requisitar pausa terá que ser enviado um comando para S.A.para o S.A enviar aos S.R. uma requisição de pausa.Com isso todos movimentos que estão organizados na fila serão pausados aguardando o retorno.
| |
− | Quando o S.A enviar um comando de reset ele mandará o robô para posição inicial e irá zerar o score. E dará o comando para iniciar novamente.
| |
− |
| |
− | '''RF011 O sistema deve permitir que os resultados do jogo sejam vistos pelos espectadores em tempo real.'''
| |
− |
| |
− | Contemplado no RF07 e RF08, através do monitoramento.
| |
− |
| |
− | '''RF012 O sistema não deve permitir que os robôs se choquem.'''
| |
− |
| |
− | O S.R. usará o sensor ultrasônico do robô para detectar a presença de outro robô e obstáculos. Ao detectar impedimento ou possibilidade de choque, o S.R. para o deslocamento em curso e manda retornar para a posição imediatamente anterior.
| |
− |
| |
− | '''RF013 O sistema deve declarar um vencedor assim que todas as caças forem encontradas.'''
| |
− |
| |
− | Quando todas as caças forem validadas/capturadas, o S.A irá comparar a pontuação e definir o vencedor. Após isso irá registrar a partida na memória (nomes e pontuações dos jogadores)
| |
− |
| |
| ==Requisitos não funcionais== | | ==Requisitos não funcionais== |
| | | |
Responsáveis pelo projeto
- Douglas Amorim dos Santos
Diário de bordo
|
Data estelar 3 4 do 3 do 2 do 1
|
Detalhes iniciais
Conexão ao EV3
Efetuamos a conexão ao ev3 por meio do bluetooth, seguindo as instruções descritas em https://www.ev3dev.org/docs/tutorials/using-bluetooth-tethering/. Após conectarmos via bluetooth acessamos o ev3 via ssh utilizando o putty.
Diagramas de Classe
Classe sensor
|
|
Classe motor
|
|
Requisitos
Requisitos funcionais e não Funcionais
|
|
Testes Funcionais
Requisitos não funcionais
RNF01 A interface do sistema de comunicação com o usuário deve ser intuitiva.
Terminal? interface web?
RNF02 O tabuleiro será composto por linhas pretas e todos com cor.
Não entendi, o caminho será na cor preta e outras cores será o que?
RNF03 O tabuleiro terá as dimensões definidas (2m x 2m).
OK
RNF04 O tabuleiro será composto por 100 quadrados de dimensões: 20cm x 20cm.
OK
RNF05 O tabuleiro será limitado por uma borda vermelha.
OK, linha vermelha não pode ser tratada como obstáculo, mas robô não pode transpo-la.
RNF06 O placar mostrado aos usuários deve ser de fácil identificação.
Será implementado na interface de monitoramento.
RNF07 O robô deve ter uma cor para identificação.
Essa cor será sorteada? ou o robô designa no cadastro, junto com outros dados?
|}
Sistema Robo
Atores do Sitema robo
|
- SS: Sistema supervisor responsável por indicar ações que serão realizados no robô, coletar informações de localização e validar ou não as caças.
- Sensor de Luz: É responsável por informar ao robô o caminho que deve ser seguido e onde exite pontos de intersecções.
- Sensor ultrassom: Responsável por verificar e avisar o robô a existência da presença de um outro robô no tabuleiro.
|