PJI29006-2018-1: mudanças entre as edições

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
Eraldo (discussão | contribs)
Eraldo (discussão | contribs)
 
(27 revisões intermediárias por 2 usuários não estão sendo mostradas)
Linha 55: Linha 55:


*[https://wiki.sj.ifsc.edu.br/index.php/PJI29006-2014-2-Wiki_do_Projeto  Projeto de 2014-2]
*[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==
Linha 90: Linha 91:
**Modo autônomo com sistema de localização integrado
**Modo autônomo com sistema de localização integrado


==AULA 3 - Dia 06/02/2018==
==AULA 3 - Dia 06/03/2018==


*Apresentação e Defesa do Projeto
*Apresentação e Defesa do Projeto
Linha 98: Linha 99:
==AULA 4 - Dia 13/02/2018==
==AULA 4 - Dia 13/02/2018==


==AULA 4 - Dia 20/03/2018==
==AULA 5 - Dia 20/03/2018==


*Lista de Requisitos e Casos de Uso: Discussão por Equipe
*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

1 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)

2 Atendimento Paralelo

A definir

3 AULAS

3.1 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

3.1.1 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.

3.1.2 Sumário Executivo

3.1.3 Divisão em Grupo

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

3.2 Links Interessantes

3.3 AULA 2 - Dia 27/02/2018

3.3.1 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

3.4 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.

3.5 AULA 4 - Dia 13/02/2018

3.6 AULA 5 - Dia 20/03/2018

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

3.7 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...

3.7.1 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.

4 AULA 6 - Dia 27/03/2018

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

5 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

6 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]


7 AULA 9 - Dia 17/04/2018

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

8 AULA 10 - Dia 24/04/2018

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

9 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


10 AULA 12 - Dia 15/05/2018

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


11 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.

12 AULA 14 - Dia 05/06/2018

12.1 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?

13 AULA 15 - Dia 12/06/2018

  • Entrega do Caso de Uso Jogar Automático

Ausente: Tutui

14 AULA 16 - Dia 19/06/2018

  • Entrega do Caso de Uso Jogar Automático

Ausentes: Marina, Luísa

15 AULA 17 - Dia 23/06/2018

  • "Extreme Programming" no sábado;

16 AULA 18 - Dia 26/06/2018

17 AULA 19 - Dia 3/07/2018