Grupo2-PJI2-2018-2

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar

Membros do grupo

  • Ameliza Souza Corrêa
  • Marcone Augusto P. Louzada
  • Yan Lucas Martins

Diário do projeto

06/08/2018 - Montagem e conexão
Durante a primeira aula que tivemos contato com o LEGO Mindstorms EV3, nos ocupamos em realizar a sua montagem, bem como a conexão por Bluetooth via SSH com o robô.
08/08/2018 - Primeiros testes com a classe Motor
Foram testadas algumas funções da classe para o uso dos motores, obtendo o sucesso esperado deste teste inicial.
17/08/2018 - Testes com todos os sensores
Nesta etapa, realizamos testes com as demais classes que serão utilizadas no projeto: sensor de cor, sensor ultrassônico, LEDs e novos usos da classe motor.


  • OBJETIVOS
    • Seguir uma linha preta [OK]
    • Parar a 10 cm de distância de um obstáculo [OK]
    • Mudar cores dos LEDs [OK]
    • Ao sair da linha preta, procurar por outra linha preta [NOK]


  • REVISAR
    • Verificar montagem da estrutura de locomoção. As rodas não estão bem alinhadas.
    • O robô para quando encontra um obstáculo e sinaliza interrupção com um LED amarelo, porém não toma uma "atitude" sobre isso. Fica aguardando o obstáculo ser removido.
    • O robô ainda não possui uma forma eficaz de buscar novas linhas pretas quando sai da mesma.

Levantamento de Requisitos

Requisitos Funcionais e Não funcionais

Requisitos Funcionais

RF01 O sistema deve permitir criação e gerência de cadastro de um robô.

RF02 O sistema de deve manter um histórico das partidas realizadas.

RF03 O sistema deve ser capaz de fazer a autenticação dos robôs cadastrados.

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

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 etiqueta de identificação.

Casos de Uso

Sistema do Robô

Atores

Sensor ultrassônico

  • Identificador: SU
  • Descrição: Responsável por detectar obstáculos que possam interferir na trajetória do robô.


Sensor de cor

  • Identificador: SC
  • Descrição: Responsável por detectar variações de cor no tabuleiro. Sendo usado para seguir as linhas pretas e identificar regiões de caça.


Sistema Supervisório

  • Identificador: SS
  • Descrição: Responsável por exibir a interface de controle, e por intermediar a comunicação entre SR e SA.
Descrição

Caso de uso: Tratar obstáculos

Ator Primário: Sensor ultrassônico

Identificador: CSR 01

Sumário: Evitar colisões com outros robôs analisando obstáculos.

Pré condições: Obstáculo estar no campo de visão do sensor ultrassônico

Fluxo Principal:

  • Sensor ultrassônico detecta um obstáculo.
  • Sensor ultrassônico solicita ao SR o travamento dos motores.

Pós-condições: SS envia a ordem para o robô se deslocar até a coordenada anterior a detecção do obstáculo.


Caso de uso: Encontrar intersecção

Ator Primário: Sensor de cor

Identificador: CSR 02

Sumário: Detecta uma outra cor que não seja preto, branco ou vermelho e define como zona de intersecção.

Pré condições: Robô deve estar se movimentando pelo tabuleiro.

Fluxo Principal:

  • Sensor de cor detecta variação de cor.
  • Sensor de cor informa ao SS que encontrou uma zona de intersecção.

Pós-condições: SS analisa e define qual será a próxima próxima ação que o robô deve tomar.


Caso de uso: Informar ID

Ator Primário: SS

Identificador: CSR 03

Sumário: O SS solicita o identificador do robô.

Pré condições: SS estar conectado ao robô.

Fluxo Principal:

  • SS solicita o endereço MAC Bluetooth do robô.
  • e depois??? robô n é um ator pra responder..

Pós-condições: O SS envia ao SA o ID do robô.


Caso de uso: Mover

Ator Primário: SS

Identificador: CSR 04

Sumário: Recebe as ordens de deslocamento do SS.

Pré condições: SS estar conectado ao robô.

Fluxo Principal:

  • SS envia os comandos “seguir em frente”, “virar para a direita” e “virar para a esquerda”

Pós-condições: O robô irá executar o comando solicitado.


Caso de uso: Modo de jogo

Ator Primário: SS

Identificador: CSR 05

Sumário: SS informa ao robô se está operando em modo manual ou em modo autônomo.

Pré condições: SS estar conectado ao robô.

Fluxo Principal:

  • SS envia ao robô os comandos “modo manual” e “modo autônomo”

Pós-condições: Robô entrará no modo solicitado e aguardará instruções do SS

Diagrama
Casos de Uso do SR