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

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
Linha 300: Linha 300:
  
 
== Instalação do FLASK no ev3dev ==
 
== Instalação do FLASK no ev3dev ==
Para instalar o ''framework'' Flask no ev3dev foram necessários os seguintes passos:  
+
Para instalar o ''framework'' Flask no ev3dev utilizando a versão 3 do Python foram necessários os seguintes passos:  
  
 
*sudo apt-get update  
 
*sudo apt-get update  
*sudo apt-get install python3-pip
+
*sudo apt-get install python3-pip  
*sudo pip3 install flask
+
*sudo pip3 install flask  
  
 
Faz-se necessário ter acesso à Internet para a instalação. Qualquer outra informação pode ser obtida no site oficial do Flask[http://flask.pocoo.org/]
 
Faz-se necessário ter acesso à Internet para a instalação. Qualquer outra informação pode ser obtida no site oficial do Flask[http://flask.pocoo.org/]

Edição das 02h42min de 24 de abril de 2018

Informações - Grupo 1

Maria Fernanda S. Tutui - tutuimf@gmail.com

Paulo F. Sell - sellpaulof@gmail.com


Atividades realizadas durante o semestre

Atividade 1 - Decisão de robô, montagem e instalação do Ev3Dev - 27/02

Decisão de robô, montagem e instalação do Ev3Dev

"Montagem:" Após a análise das peças disponíveis no box Lego Mindstorms Ev3 Education 45544, escolhemos o robô a ser montado, sendo o escolhido: Puppy


PuppyEv3.jpeg


"Ev3Dev:" Instalação do Ev3Dev, um sistema operacional baseado em Debian que roda no bloco EV3, como num dual boot. A partir da utilização deste SO pode-se programar o robô utilizando linguagem de programação C, Python, por exemplo. A instalação foi feita com base no site do desenvolvedor.

Atividade 2 - Conectividade WiFi e sensores - 01/03

Conectividade WiFi e sensores

  • A partir da página do Ev3Dev estabelecemos com sucesso as conexões via Bluetooh, Wi-Fi (usando um dongle e a rede de dados móveis) utilizando SSH.

- A conexão Wi-Fi através da rede do IFSC não foi possível por ser uma rede baseada em EAP (Protocolo de Autenticação Extensiva).

  • Neste encontro testamos os motores do robô, bem como o auto falante integrado.
Atividade 3 - Conhecendo robô - 02/03

Conhecendo robô

  • Definição da linguagem de programação que será utilizada e estudo da mesma: Python.
  • Foram feitos testes com o sensor de toque, LEDs embutidos na base do robô.
  • Estudo do artigo do Borenstein.
Atividade 4 - Escolha do modelo do sistema de localização e definição das regras - 03/03

Escolha do modelo do sistema de localização e definição das regras

  • Após a leitura e análise das condições atuais do robô (sensores já disponíveis) foi decidido que o modelo a ser utilizado será baseado em:

- Odometria, por proporcionar altas taxas de amostragem, e basear-se no movimento da roda.

- Navegação inercial, por já termos disponível um giroscópio.

- Navegação Landmark, pela possibilidade de usar marcos artificiais e termos disponível um sensor de cores.

  • Regras
    • Como definido pelos professores, a partir da orientação para "tentar fazer regras mais simples possíveis" foi definido pelo grupo que:

Objetivo: encontrar no tabuleiro as cores sorteadas na ordem correta e em menos tempo possível.

  • Encontrar cores no tabuleiro
    • Azul
    • Vermelho
    • Amarelo
    • Verde

(inicialmente)

  • Estando o robô na posição inicial é dado início ao jogo.
    • O sistema escolhe aleatoriamente as cores a serem procuradas e as envia para o robô.
    • Os robôs se movimentam sobre o tabuleiro a fim de encontrar as cores sorteadas.
Atividade 5 - Trabalhando com o robô - 05/03

Trabalhando com o robô

Durante o encontro desenvolvemos um código base para a apresentação do robô em sala. Nesta rotina usamos como atuadores dois motores e como sensores um ultrassônico, um sensor de cores e um sensor de toque. O código desenvolvido faz com que o robô, montado no formado te um cachorro ao ser tocado sente e levante, ao aproximar-se de algo, "lata", identifica as cores: vermelho, amarelo, azul e verde. Todo o código encontra-se no projeto "puppy.Ev3" no github.

Atividade 6 - Sala de aula - 06/03

Sala de aula

Perguntas


- Qual o tamanho do tablado? Quantos quadrados?

R: 2x2 metros. Provavelmente 20x20 cm. O tablado deve ter ter uma borda extra de aproximadamente 5 cm.


- Quantos quadrados?

R: 100 quadrados.


- Como as cores vão ser distribuídas?

R: Randomicamente.


- Quantos alvos (tesouros)? Serão comuns?

R: Cerca de 6 caças, serão comuns.


- Como as caças serão auditadas? Quem ganhará o tesouro?

R: A partir do monitoramento feio pela câmera infravermelho que captará os dados e transmitirá através de um Arduino para a auditoria. Quem ganhará será o robô que em menos tempo pegar o maior numero de caças.


- Como será o sistema de sinalização ao público?

R: Cada grupo terá que mostrar para o publico as informações correspondentes ao seu robô.


- Como será a central de controle?

R: Fica a critério de cada grupo.


- Sistema de localização auxiliar?

R: Fica a critério de cada grupo.


- Quantas cores podem ser reconhecidas?

R: 7 cores.


- As cores serão fixadas?

R: Sim. O tabuleiro será impresso já com as cores.


- Quem fará o sorteio das posições?

R: Um servidor será responsável.


Demais questões

- Alcance do ultrassônico: 1 a 250cm


- Memória: 16MB de memoria flash e 64MB de memoria RAM


- Capacidades dos motores: 1 grau de precisão


- Estimativa de bateria: 3 a 4h


- Ver a quantidade de cores: 7

Atividade 7 - Sumário executivo - 07/03 a 12/03

Sumário executivo

Durante o período indicado produzimos o sumário executivo. Ele encontra-se no ShareLaTeX.

Atividade 8 - Sala de aula e Novo documento no ShareLaTeX- 13/03

Sala de aula

  • Apresentação do sumário executivo

Para a próxima aula 20/03


Levantamento de requisitos

Funcionais

Não funcionais

Restrições

Casos de uso'

Atores (diagramas)

Lista do custo de uso detalhados

Regras de negócio

Atividade 9 - Levantamento de requisitos - 13/03 a 20/03

Levantamento de requisitos versão 1

O documento com a análise de requisitos e casos de uso encontra-se no ShareLaTeX.

Atividade 10 - Discussão sobre levantamento de requisitos - 20/03

Sala de aula

Durante este encontro lemos os levantamentos de ambas as equipes e discutimos. Todas as observações feitas pelo professor foram anotadas e serão aplicadas a nova versão do levantamento.

Atividade 11 - Levantamento de requisitos - 20/03 a 27/03

Levantamento de requisitos versão 2

A partir das considerações feitas em sala de aula o levantamento foi refeito. O documento com nova análise de requisitos e casos de uso encontra-se no ShareLaTeX.

Atividade 12 - Discussão sobre levantamento de requisitos - 27/03

Sala de Aula

Durante este encontro lemos os levantamentos de ambas as equipes e discutimos. Todas as observações feitas pelo professor foram anotadas e serão aplicadas a nova versão do levantamento.

Proposta para distribuição de cores no tabuleiro.

Atividade 13 - Discussão sobre levantamento de requisitos - 03/04

Sala de Aula

Durante este encontro lemos os levantamentos de ambas as equipes e discutimos. Todas as observações feitas pelo professor foram anotadas e serão aplicadas a nova versão do levantamento.

De acordo com o email enviado pelo professor Eraldo devemos trazer para a prox aula:

  • um texto bem definido do caso de uso jogar manual do SS e SA (penso que já temos);
  • diagramas de sequência destes casos;
  • diagrama de classe se for possível;
  • uma cronograma com as iterações previstas;


Atividade 14 - Modo manual - 10/04

Sala de Aula

Durante esta aula foram discutidos os prazos para entrega do mínimo requerido para o caso de uso "Modo manual" do robô.

Todas as questões discutidas, bem como suas datas, estão definidas no Trello, como pedido pelos professores.

Atividade 15 - Diagrama de sequência - 17/04

Sala de Aula

Button image.png


Atividade 16 - Documentação - Jogar manual - 24/04

Jogar manual

  • Diagrama de classe Sistema Supervisório
Sistema suervisorio pkg.png
  • Diagrama de classe Sistema Robô
Sistema Robopkg.png

Recursos REST

Path Método Descrição
/frente GET Movimenta o robô para frente
/re GET Movimenta o robô para trás
/direita GET Movimenta o robô para direita
/esquerda GET Movimenta o robô para esquerda
/ GET Retorna uma string de "bem-vindo"

Instalação do FLASK no ev3dev

Para instalar o framework Flask no ev3dev utilizando a versão 3 do Python foram necessários os seguintes passos:

  • sudo apt-get update
  • sudo apt-get install python3-pip
  • sudo pip3 install flask

Faz-se necessário ter acesso à Internet para a instalação. Qualquer outra informação pode ser obtida no site oficial do Flask[1]