Mudanças entre as edições de "Grupo2-PJI2-2018-1"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
Linha 197: Linha 197:
 
= Levantamento de Requisitos=
 
= Levantamento de Requisitos=
 
== Requisitos Funcionais ==
 
== Requisitos Funcionais ==
 
 
# O robô entrará em funcionamento a partir de instruções originadas no servidor.
 
# O robô entrará em funcionamento a partir de instruções originadas no servidor.
 
# O robô deverá encontrar alvos aleatoriamente escolhidos pelo servidor.
 
# O robô deverá encontrar alvos aleatoriamente escolhidos pelo servidor.

Edição das 19h14min de 19 de março de 2018

Equipe

Luísa Machado
Marina Souza
Natália Miranda


Cronograma de Atividades

Atividades 26/02 - 03/03 03/03 - 10/03 10/03- 17/03 17/03 - 24/03 24/03 - 31/03 31/03 - 07/04 10/04 - 17/04 17/04 - 24/04 24/04 - 01/05 - 08/05
Estrutura do EV3 OK
SD Card com sistema operacional embarcado OK
Acesso via WiFI OK
Execução de programas na linguagem Python OK
Teste de sensores e motor parcial
Estudo do artigo do Borenstein e pesquisas sobre métodos de localização OK
Definir método para localização OK
Definir regras do jogo OK
Entrega do sumário executivo OK
Casos de uso e requisitos X

Estrutura do EV3

A equipe optou por utilizar um modelo adaptado do Gyro Boy LEGO® MINDSTORMS® Education EV3.
As interfaces de entrada e saída utilizadas no controle do robô seguem a nomenclatura tabela:

Interfaces
Input Output
1 Sensor de Cor A Motor Direita
2 Sensor de Toque B
3 Sensor Ultrassônico C
4 Sensor de Giro D Motor Esquerda
EV3 montado pela Equipe

Acesso via WiFI

Para acessar o robô via rede Wi-Fi utilizamos um dispositivo Wi-Fi (TP-Link N500) conectado à porta USB do EV3 e acessamos as configurações de rede na tela do EV3 para obter o endereço IP.
A partir de um computador conectado na mesma rede local que o robô, configuramos o software Moba para gerar uma interface gráfica de programação e permitir o envio de arquivos via SSH ao software do EV3.
O tutorial completo pode acessado neste link.

Execução de programas na linguagem Python

O primeiro código em Python enviado ao EV3 foi um teste no sensor de toque. O objetivo do programa é acionar o led verde do EV3 quando o sensor de toque for pressionado.

Teste do Sensor de Toque

Teste de sensores e motor

Teste dos Motores
Teste do Sensor de Cor
Teste do Sensor de Giro
Teste do Sensor de Ultrassônico


Estudo do artigo do Borenstein e pesquisas sobre métodos de localização

Review Técnicas de Indoor Positioning

Implementação e Teste de Soluções de Navegação de Robôs Móveis com Base no Sistema NXT/EV3 da LEGO®

Mobile Robot Positioning & Sensors and Techniques

Sumário Executivo

Arquivo:Artigo Redes.pdf

Levantamento de Requisitos

Requisitos Funcionais

  1. O robô entrará em funcionamento a partir de instruções originadas no servidor.
  2. O robô deverá encontrar alvos aleatoriamente escolhidos pelo servidor.
  3. Será utilizado o sensor de cores para tomada de decisão do robô.
  4. A cor preta determina as extremidades do tabuleiro.
  5. As demais cores no tabuleiro determinam posições que poderão ser sorteadas como um alvo.
  6. O objetivo do jogo é que robô encontre uma quantidade maior de alvos que o adversário.
  7. Assim que o robô encontrar um alvo ele irá enviar uma mensagem ao servidor que irá atualizar o placar e passar para o próximo alvo ou encerrará o jogo.
  8. O robô deverá constantemente verificar no servidor a disponibilidade de alvos, caso não tenha mais alvos a partida é encerrada e o robô para.

Requisitos Não Funcionais

  1. O servidor web é compartilhado entre os robôs.
  2. O servidor web contém um banco de dados com as informações sobre os alvos e um placar para consulta dos robôs.
  3. O tabuleiro tem dimensões de 2 metros por 2 metros.
  4. O tabuleiro é formado por 100 blocos de cores com dimensões de 0,2 metros por 0,2 metros.
  5. O tabuleiro terá 6 cores (vermelho, azul, amarelo, verde, branco e marrom).
  6. Ao redor do tabuleiro haverá um contorno preto.

Restrições

As limitações encontradas pela equipe para o desenvolvimento do projeto envolvem:

  1. A quantidade de sensores disponíveis para integrar ao robô.
  2. Atraso no processamento de programas grandes ou travamento da plataforma do EV3.
  3. Limitação de horas livres semanalmente que a equipe pode se dedicar ao desenvolvimento do projeto.

Casos de uso

Atores

  1. Robô A (Equipe A)
  2. Robô B (Equipe B)
  3. Sistema de auditoria

Links Auxiliares