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

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
 
(43 revisões intermediárias por 4 usuários não estão sendo mostradas)
Linha 28: Linha 28:
 
*o sistema deve ter interação com o mundo real (atuação/sensoreamento);
 
*o sistema deve ter interação com o mundo real (atuação/sensoreamento);
 
*uso do Arduino ou EV3  com Linux (http://www.ev3dev.org/)
 
*uso do Arduino ou EV3  com Linux (http://www.ev3dev.org/)
 +
*usar conceitos de Sistemas Distribuídos/Web Service
  
 
Ideias (brainstorming)
 
Ideias (brainstorming)
Linha 43: Linha 44:
  
 
*Apresentação do Prof.Roberto Matos
 
*Apresentação do Prof.Roberto Matos
*Modelo a ser usado
+
*[https://www.dropbox.com/s/c8bmwn6r7ym068p/modelo-sumario_excutivo.zip?dl=0 Link para o Modelo a ser usado (baixar o arquivo ZIP)]
 +
*[http://tele.sj.ifsc.edu.br/~roberto.matos/pji2/net.pdf Modelo Sumário Executivo]
  
 
===Divisão em Grupo===
 
===Divisão em Grupo===
Linha 49: Linha 51:
 
*Equipes de 2 ou 3;
 
*Equipes de 2 ou 3;
 
*A equipe deve eleger um coordenador responsável.
 
*A equipe deve eleger um coordenador responsável.
 +
 +
==Links Interessantes==
 +
 +
*[https://wiki.sj.ifsc.edu.br/index.php/PJI29006-2014-2-Wiki_do_Projeto  Projeto de 2014-2]
 +
*[http://www.inpharmix.com/jps/PID_Controller_For_Lego_Mindstorms_Robots.html Controle PID motores EV3]
  
 
==AULA 2 - Dia 27/02/2018==
 
==AULA 2 - Dia 27/02/2018==
  
 
*Entrega prévia do sumário executivo
 
*Entrega prévia do sumário executivo
 +
*[https://www.electronicshub.org/robotics-projects-ideas/ Ideias de Projeto]
 +
*[https://www.researchgate.net/publication/311535313_A_comparison_of_Computer_Vision_Techniques_for_Indoor_Robot_Localization Review Técnicas de Indoor Positioning]
 +
 +
*[[Grupo1-PJI2-2018-1]]
 +
**Tutui
 +
**Paulo
 +
*[[Grupo2-PJI2-2018-1]]
 +
**Natália
 +
**Marina
 +
**Luísa
 +
 +
===O que fazer para a próxima aula===
 +
 +
*Estudar EV3 e fazer demonstração com o Linux
 +
**Colocar Linux em SD
 +
**Fazer/Colocar programa demonstrando funcionamento básico
 +
**Descrever sensores e atuadores disponíveis
 +
**Se der tempo testar dongle wifi
 +
 +
*Sistema de Localização
 +
**Estudar artigo do Borenstein
 +
**Definir sistema para de localização para a próxima aula
 +
 +
*Definir regras
 +
**tentar fazer regras mais simples possíveis
  
==AULA 3 - Dia 27/02/2018==
+
*Etapas
 +
**Modo Manual
 +
**Modo autônomo com sistema de localização próprio
 +
**Modo autônomo com sistema de localização integrado
 +
 
 +
==AULA 3 - Dia 06/03/2018==
  
 
*Apresentação e Defesa do Projeto
 
*Apresentação e Defesa do Projeto
 
*Avaliação desta fase;
 
*Avaliação desta fase;
 
*Apresentação do modelo de especificação de projeto esperado.
 
*Apresentação do modelo de especificação de projeto esperado.
 +
 +
==AULA 4 - Dia 13/02/2018==
 +
 +
==AULA 5 - Dia 20/03/2018==
 +
 +
*Lista de Requisitos e Casos de Uso: Discussão por Equipe
 +
 +
==ORIENTAÇÔES PARA A CONFECÇÂO DE CASOS DE USO==
 +
 +
Em conversa com o Prof.Emerson acertamos alguns pontos sobre os casos de uso:
 +
 +
*Vamos encarar o nosso sistema como 3 (sub)sistemas: o Sistema Robô, o Sistema Supervisório do Robô e o Sistema de Auditoria;
 +
*os casos de uso devem ser confeccionados em separado para cada um destes subsistemas;
 +
*cada equipe faz em separado os 3 subsistemas;
 +
*quando fizer um subsistema os outros dois serão tratados como atores. Por exemplo: do ponto de vista do sistema supervisório o sistema de auditoria e o sistema robô serão atores;
 +
*prever casos de uso: cadastrar robôs, partidas,jogar de forma automática, jogar de forma manual, configurar tabuleiro, auditar pontuação etc; Casos de uso devem usar verbos...
 +
 +
===Restrições e lembretes adicionais===
 +
 +
*toda a interface com o sistema supervisório e sistema de auditoria deve ser REST;
 +
*a interface com o robô fica a critério de cada equipe: no caso de usar Python, o Emerson sugere o REST. Aviso que podem ter problemas de desempenho...
 +
*o robô não receberá a posição inicial em que está. Esta posição será fornecida pelo Sistema de Auditoria.
 +
*robôs devem ser notificados quando uma caça é capturada e quando o jogo inicia e termina;
 +
*o subsistema robô nunca se comunica direto com o sistema de Auditoria.
 +
 +
=AULA 6 - Dia 27/03/2018=
 +
 +
*Orientações para a próxima aula:
 +
**Detalhar casos de uso
 +
**Proposta de tabuleiro
 +
 +
=AULA 7 - Dia 04/04/2018=
 +
 +
*Discussão dos casos de uso. Obs: Colocar o Avaliar Manual;
 +
*Formato tabuleiro
 +
*Etapas,Cronograma e divisão de trabalhos. Definição de coordenador do grupo.
 +
*Uso do Trelo acompanhamento de tarefas
 +
 +
=AULA 8 - Dia 10/04/2018=
 +
 +
*Rediscussão do caso de uso Jogar Manual
 +
*Diagramas de Sequência associados
 +
*API do Motor no EV3
 +
*Cronograma dos Trabalhos [https://sites.google.com/site/ev3python/learn_ev3_python/using-motors]
 +
 +
 +
=AULA 9 - Dia 17/04/2018=
 +
 +
*Verificação de etapas
 +
*Demonstração prévia de funcionamento do sistema
 +
 +
=AULA 10 - Dia 24/04/2018=
 +
 +
*Verificação da I1
 +
*Definição da I2
 +
 +
=AULA 11 - Dia 8/05/2018=
 +
 +
*Verificação das finalizações da I1;
 +
*Verificação do Andamento da I2:
 +
**Diagramas de Sequência e Classe
 +
 +
 +
=AULA 12 - Dia 15/05/2018=
 +
* Apresentação do Iteração 2 (Implementação SA)
 +
 +
 +
=AULA 13 - Dia 22/05/2018=
 +
 +
* Definição do Tabuleiro de Jogo
 +
**Links Seguidores de Linha
 +
http://englishsourcery.com/KJI2eIobWYg.video
 +
 +
http://www.theroboticist.org/wp-content/uploads/2012/09/FLLkickOffLearning.key.pdf
 +
 +
http://www.bogatech.org/cursos/Curs%20Introduccio%20Lego%20Mindstorms%20NXT/UNIT%209.htm
 +
 +
http://ev3lessons.com/translations/en-us/advanced/LineFollower.pdf
 +
 +
http://www.legoengineering.com/inside-a-two-step-simple-line-follower/
 +
 +
https://ggclip.com/video/AMBWV_HGYj4/pid-line-follower-for-ev3-the-ultimate-line-follower.html
 +
 +
http://thetechnicgear.com/2014/03/howto-create-line-following-robot-using-mindstorms/
 +
 +
http://www.inpharmix.com/jps/PID_Controller_For_Lego_Mindstorms_Robots.html
 +
 +
http://www.techbricks.nl/My-NXT-projects/nxtlinefollower.html
 +
 +
https://www.intorobotics.com/line-following-robot-tutorials-how-to-build-programming-code-and-resources/
 +
 +
* Roteiro para o final da Iteração 3:
 +
** Teste do caso de uso do CADASTRO de Robô
 +
*** Cadastrar um robô com sucesso
 +
*** Listar os robôs cadastrados
 +
*** Remover um robô da lista
 +
*** Reiniciar o sistema e verificar a persistência da lista de Robôs.
 +
*** Tentar cadastrar um robô com o mesmo nome.
 +
** Teste do caso de uso do CONFIGURAR partida
 +
*** Visualizar SSs presentes (ativos) no SA
 +
*** Tentar configurar partida com apenas um SS presente (não deve permitir o início da partida)
 +
*** Configurar com sucesso uma partida manual/automático, monstrando na tela dos SSs que eles foram selecionados para a partida.
 +
** Teste do caso de uso de INICIAR partida
 +
*** Iniciar partida manual/automático com apenas um Robô (SS) presente devido a queda de um SS
 +
*** Iniciar uma partida manual com sucesso mostrando mensagem na tela dos SSs de "início de partida"
 +
*** Iniciar uma partida automática com sucesso mostrando mensagem na tela dos SSs de "início de partida"
 +
** Teste do caso de uso de PAUSAR partida
 +
*** Pausar/reiniciar partida manual com indicativos nas telas dos SSs
 +
*** Pausar/reiniciar partida automática com indicativos nas telas dos SSs e comportamento do robô adequado
 +
** Teste do caso de uso de JOGAR MANUAL
 +
*** Realizar uma partida manual com captura e validação pelo árbitro de todas as caças, indicação do vencedor e finalização da partida (botão de voltar para a tela de início do SA).
 +
*** Realizar uma segunda partida manual ou automática após finalização da primeira.
 +
** Teste do caso de uso de JOGAR AUTOMÁTICO
 +
*** Realizar uma partida automático com captura, sinalização automático da captura e validação pelo árbitro de todas as caças, indicação do vencedor e finalização da partida (botão de voltar para a tela de início do SA).
 +
*** Realizar uma segunda partida manual ou automática após finalização da primeira.
 +
** Verificar HISTÓRICO de Partidas
 +
*** Verificar o histórico logo após cada partida.
 +
*** Verificar o histórico após reiniciar o SA.
 +
 +
=AULA 14 - Dia 05/06/2018=
 +
 +
==Perguntas iniciais==
 +
 +
*Onde está a especificação da interface SS/SA caso alguém mais deseje implementar um SS?
 +
*Mostras a relação entre os diagramas de sequência associados a cada caso de uso e as respectivas implementações.
 +
*Onde está o projeto das tabelas do banco de dados?
 +
 +
=AULA 15 - Dia 12/06/2018=
 +
 +
*Entrega do Caso de Uso Jogar Automático
 +
 +
Ausente: Tutui
 +
 +
=AULA 16 - Dia 19/06/2018=
 +
 +
*Entrega do Caso de Uso Jogar Automático
 +
 +
Ausentes: Marina, Luísa
 +
 +
=AULA 17 - Dia 23/06/2018=
 +
 +
*"Extreme Programming" no sábado;
 +
 +
=AULA 18 - Dia 26/06/2018=
 +
 +
 +
=AULA 19 - Dia 3/07/2018=

Edição atual tal como às 14h33min de 19 de junho de 2018

Dados da Disciplina

Disciplina: Projeto Integrador II (sexta fase da Engenharia de Telecomunicações

Professores: Roberto de Matos e Eraldo Silveira e Silva (apoio do Professor Emerson Mello de STD)

Atendimento Paralelo

A definir

AULAS

AULA 1 - Dia 20/02/2018

  • Apresentação do Plano de Ensino/Ementa;
  • Discussão do Tema de Trabalho e apresentação das restrições
  • Sumário Executivo
  • Avaliação
  • Resultados Esperados
  • Formação de Grupos

TEMA DO TRABALHO

Restrições:

  • o projeto deve conter pelo menos um sistema embarcado que se comunica sem fio com um sistema central (desktop/cloud);
  • linguagem de programação livre (os professores conhecem C/C++ principalmente);
  • o sistema deve ter interação com o mundo real (atuação/sensoreamento);
  • uso do Arduino ou EV3 com Linux (http://www.ev3dev.org/)
  • usar conceitos de Sistemas Distribuídos/Web Service

Ideias (brainstorming)

  • batalha de tanques;
  • luta de sumo
  • uso da camera IR para posicionamento indoor. Uma equipe poderia trabalhar no sentido de preparar um suporte para a localização baseada no IR.
  • Os robôs que temos:
    • EV3 Home Edition
    • EV3 Education
    • Se forem usados, o Linux deverá ser configurado no mesmo.
  • uso do genuino com Neural Network e acelerômetro. O Genuino vem com uma rede neural (hardware) que poderia ser usada em um projeto mais avançado.

Sumário Executivo

Divisão em Grupo

  • Equipes de 2 ou 3;
  • A equipe deve eleger um coordenador responsável.

Links Interessantes

AULA 2 - Dia 27/02/2018

O que fazer para a próxima aula

  • Estudar EV3 e fazer demonstração com o Linux
    • Colocar Linux em SD
    • Fazer/Colocar programa demonstrando funcionamento básico
    • Descrever sensores e atuadores disponíveis
    • Se der tempo testar dongle wifi
  • Sistema de Localização
    • Estudar artigo do Borenstein
    • Definir sistema para de localização para a próxima aula
  • Definir regras
    • tentar fazer regras mais simples possíveis
  • Etapas
    • Modo Manual
    • Modo autônomo com sistema de localização próprio
    • Modo autônomo com sistema de localização integrado

AULA 3 - Dia 06/03/2018

  • Apresentação e Defesa do Projeto
  • Avaliação desta fase;
  • Apresentação do modelo de especificação de projeto esperado.

AULA 4 - Dia 13/02/2018

AULA 5 - Dia 20/03/2018

  • Lista de Requisitos e Casos de Uso: Discussão por Equipe

ORIENTAÇÔES PARA A CONFECÇÂO DE CASOS DE USO

Em conversa com o Prof.Emerson acertamos alguns pontos sobre os casos de uso:

  • Vamos encarar o nosso sistema como 3 (sub)sistemas: o Sistema Robô, o Sistema Supervisório do Robô e o Sistema de Auditoria;
  • os casos de uso devem ser confeccionados em separado para cada um destes subsistemas;
  • cada equipe faz em separado os 3 subsistemas;
  • quando fizer um subsistema os outros dois serão tratados como atores. Por exemplo: do ponto de vista do sistema supervisório o sistema de auditoria e o sistema robô serão atores;
  • prever casos de uso: cadastrar robôs, partidas,jogar de forma automática, jogar de forma manual, configurar tabuleiro, auditar pontuação etc; Casos de uso devem usar verbos...

Restrições e lembretes adicionais

  • toda a interface com o sistema supervisório e sistema de auditoria deve ser REST;
  • a interface com o robô fica a critério de cada equipe: no caso de usar Python, o Emerson sugere o REST. Aviso que podem ter problemas de desempenho...
  • o robô não receberá a posição inicial em que está. Esta posição será fornecida pelo Sistema de Auditoria.
  • robôs devem ser notificados quando uma caça é capturada e quando o jogo inicia e termina;
  • o subsistema robô nunca se comunica direto com o sistema de Auditoria.

AULA 6 - Dia 27/03/2018

  • Orientações para a próxima aula:
    • Detalhar casos de uso
    • Proposta de tabuleiro

AULA 7 - Dia 04/04/2018

  • Discussão dos casos de uso. Obs: Colocar o Avaliar Manual;
  • Formato tabuleiro
  • Etapas,Cronograma e divisão de trabalhos. Definição de coordenador do grupo.
  • Uso do Trelo acompanhamento de tarefas

AULA 8 - Dia 10/04/2018

  • Rediscussão do caso de uso Jogar Manual
  • Diagramas de Sequência associados
  • API do Motor no EV3
  • Cronograma dos Trabalhos [1]


AULA 9 - Dia 17/04/2018

  • Verificação de etapas
  • Demonstração prévia de funcionamento do sistema

AULA 10 - Dia 24/04/2018

  • Verificação da I1
  • Definição da I2

AULA 11 - Dia 8/05/2018

  • Verificação das finalizações da I1;
  • Verificação do Andamento da I2:
    • Diagramas de Sequência e Classe


AULA 12 - Dia 15/05/2018

  • Apresentação do Iteração 2 (Implementação SA)


AULA 13 - Dia 22/05/2018

  • Definição do Tabuleiro de Jogo
    • Links Seguidores de Linha

http://englishsourcery.com/KJI2eIobWYg.video

http://www.theroboticist.org/wp-content/uploads/2012/09/FLLkickOffLearning.key.pdf

http://www.bogatech.org/cursos/Curs%20Introduccio%20Lego%20Mindstorms%20NXT/UNIT%209.htm

http://ev3lessons.com/translations/en-us/advanced/LineFollower.pdf

http://www.legoengineering.com/inside-a-two-step-simple-line-follower/

https://ggclip.com/video/AMBWV_HGYj4/pid-line-follower-for-ev3-the-ultimate-line-follower.html

http://thetechnicgear.com/2014/03/howto-create-line-following-robot-using-mindstorms/

http://www.inpharmix.com/jps/PID_Controller_For_Lego_Mindstorms_Robots.html

http://www.techbricks.nl/My-NXT-projects/nxtlinefollower.html

https://www.intorobotics.com/line-following-robot-tutorials-how-to-build-programming-code-and-resources/

  • Roteiro para o final da Iteração 3:
    • Teste do caso de uso do CADASTRO de Robô
      • Cadastrar um robô com sucesso
      • Listar os robôs cadastrados
      • Remover um robô da lista
      • Reiniciar o sistema e verificar a persistência da lista de Robôs.
      • Tentar cadastrar um robô com o mesmo nome.
    • Teste do caso de uso do CONFIGURAR partida
      • Visualizar SSs presentes (ativos) no SA
      • Tentar configurar partida com apenas um SS presente (não deve permitir o início da partida)
      • Configurar com sucesso uma partida manual/automático, monstrando na tela dos SSs que eles foram selecionados para a partida.
    • Teste do caso de uso de INICIAR partida
      • Iniciar partida manual/automático com apenas um Robô (SS) presente devido a queda de um SS
      • Iniciar uma partida manual com sucesso mostrando mensagem na tela dos SSs de "início de partida"
      • Iniciar uma partida automática com sucesso mostrando mensagem na tela dos SSs de "início de partida"
    • Teste do caso de uso de PAUSAR partida
      • Pausar/reiniciar partida manual com indicativos nas telas dos SSs
      • Pausar/reiniciar partida automática com indicativos nas telas dos SSs e comportamento do robô adequado
    • Teste do caso de uso de JOGAR MANUAL
      • Realizar uma partida manual com captura e validação pelo árbitro de todas as caças, indicação do vencedor e finalização da partida (botão de voltar para a tela de início do SA).
      • Realizar uma segunda partida manual ou automática após finalização da primeira.
    • Teste do caso de uso de JOGAR AUTOMÁTICO
      • Realizar uma partida automático com captura, sinalização automático da captura e validação pelo árbitro de todas as caças, indicação do vencedor e finalização da partida (botão de voltar para a tela de início do SA).
      • Realizar uma segunda partida manual ou automática após finalização da primeira.
    • Verificar HISTÓRICO de Partidas
      • Verificar o histórico logo após cada partida.
      • Verificar o histórico após reiniciar o SA.

AULA 14 - Dia 05/06/2018

Perguntas iniciais

  • Onde está a especificação da interface SS/SA caso alguém mais deseje implementar um SS?
  • Mostras a relação entre os diagramas de sequência associados a cada caso de uso e as respectivas implementações.
  • Onde está o projeto das tabelas do banco de dados?

AULA 15 - Dia 12/06/2018

  • Entrega do Caso de Uso Jogar Automático

Ausente: Tutui

AULA 16 - Dia 19/06/2018

  • Entrega do Caso de Uso Jogar Automático

Ausentes: Marina, Luísa

AULA 17 - Dia 23/06/2018

  • "Extreme Programming" no sábado;

AULA 18 - Dia 26/06/2018

AULA 19 - Dia 3/07/2018