Mudanças entre as edições de "Grupo1-PJI2-2018-2"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
Linha 24: Linha 24:
  
 
{{Collapse top |Requisitos funcionais e não Funcionais}}
 
{{Collapse top |Requisitos funcionais e não 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.'''
 +
Que 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
 +
'''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?
 +
  
  

Edição das 19h03min de 19 de agosto de 2018

Responsáveis pelo projeto

  • Douglas Amorim dos Santos
  • Allex Magno
  • Filipe Kuhnen
Diário de bordo

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 ec3 via ssh utilizando o putty.

Diagrama de classe sensores

D class motor.jpg

Diagrama de classe motores

D class motor real.jpg

Requisitos funcionais e não 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. Que 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 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?


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.

RF04 Os robôs devem ser capazes de operar nos modos manual e autônomo.

Quem irá definir? usuário ou arbitro?


RF05 O sistema deve validar e contabilizar as caças já encontradas pelo robô.

RF06 O sistema deve dar início a partida, sortear os locais das caças e informá-los aos robôs.

RF07 O sistema deve prover uma interface de monitoramento para o robô em modo autônomo.

RF08 O sistema deve prover uma interface de controle e monitoramento para o robôs em modo manual.

RF09 O sistema deve permitir que, quando em modo autônomo, o robô execute os movimentos programados a partir do algoritmo implementado.

RF010 O sistema deve permitir pausa e reset da partida.

RF011 O sistema deve permitir que os resultados do jogo sejam vistos pelos espectadores em tempo real.

RF012 O sistema não deve permitir que os robôs se choquem.

RF013 O sistema deve declarar um vencedor assim que todas as caças forem encontradas.

Requisitos não funcionais

RNF01 A interface do sistema de comunicação com o usuário deve ser intuitiva.

RNF02 O tabuleiro será composto por linhas pretas e todos com cor.

RNF03 O tabuleiro terá as dimensões definidas (2m x 2m).

RNF04 O tabuleiro será composto por 100 quadrados de dimensões: 20cm x 20cm.

RNF05 O tabuleiro será limitado por uma borda vermelha.

RNF06 O placar mostrado aos usuários deve ser de fácil identificação.

RNF07 O robô deve ter uma cor para identificação

|}

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.
Casos de uso

Caso de uso: Monitoramento em modo manual
Ator primário: Usuário
Fluxo principal:

  • 1 - O usuário requisita exibir menu no SS
  • 2 - O SS exibe o menu com as informações disponíveis
  • 3 - Usuário informa que deseja monitoramento em modo manual
  • 4 - SS comunica com o SR
  • 5 - SR desabilita sensores de proximidade


Caso de uso: Monitoramento em modo autônomo
Ator primário: Usuário
Fluxo principal:

  • 1 - O usuário requisita exibir menu no SS
  • 2 - O SS exibe o menu com as informações disponíveis
  • 3 - Usuário informa que deseja monitoramento em modo autônomo
  • 4 - SS comunica com o SR
  • 5 - SR começa habilita os sensores de proximidade


Caso de uso: Operar robô em modo manual
Ator primário: Usuário
Fluxo principal:

  • 1 - O usuário requisita exibir menu no SS
  • 2 - O SS exibe o menu com as informações disponíveis
  • 3 - Usuário informa que deseja robô em modo manual
  • 4 - SS comunica com o SR


Caso de uso: Operar robô em modo autônomo
Ator primário: Usuário
Fluxo principal:

  • 1 - O usuário requisita exibir menu no SS
  • 2 - O SS exibe o menu com as informações disponíveis
  • 3 - Usuário informa que deseja robô em modo autônomo
  • 4 - SS comunica com o SR
legenda