PJI29006-2018-2
Dados da Disciplina
- Tutores: Roberto de Matos
- Encontros: Segundas 9:40h no Laboratório de Programação.
- Informações da disciplina
- Plano de Ensino
Características da Disciplina
- Grau de independência médio com relação ao tutor
- Casos de insucesso
- Porque não deu certo? Como eu fiz?
- Pesquisa de como executar tarefas
- Como eu efetuei a pesquisa?
- Projeto vai além dos limites da sala de aula
- Os checkpoints devem ser respeitados
- Apresentações nos checkpoints devem ser organizados previamente e cada aluno deve apresentar suas contribuições
- É responsabilidade do grupo demandar equipamentos, softwares, recursos de forma geral
Diário de Aulas
AULA 1 - Dia 30/07/2018
- Discussão do Tema de Trabalho e apresentação das restrições
- Avaliação
- Resultados Esperados
- Formação de Grupos
- Páginas dos Grupos
- Material Plataforma
- Software:
- EV3dev & EV3 Python Playlist
- Linux (EV3dev):
- Python (EV3 Python):
- Atividade
- Estudar a plataforma (EV3), como colocar o Linux no EV3 e a biblioteca EV3 Python.
- Modelar as classes para uso dos motores e do sensor de cor/luminosidade. Faça a engenharia reversa da biblioteca.
- Estudar exemplos de implementação e rodar no EV3 (procurar o professor para usar a plataforma).
AULA 2 - Dia 06/08/2018
- Montagem dos Robôs
- Apresentação das pesquisas feitas durante a semana (Classes Motor e Sensor e Exemplos baseados no EV3 Python).
- Modelar Casos de Uso do Sistema do Robô.
Especificação
A execução do jogo foi dividida em três sistemas diferentes: Sistema de Auditoria (SA), Sistema Supervisório (SS) e Sistema do Robô (SR). Para fins de controle de partidas, histórico, cadastro de robôs e controle de captura de caças foi criado do sistema de auditoria, que age como juiz. O sistema supervisório atua como mediador entre os sistemas de auditoria e robô, é responsável por transmitir as informações da partida recebida do SA para os sistemas supervisórios de cada equipe, bem como receber informações dos SR e retransmiti-las ao SA. O sistema do robô fica responsável pela lógica para encontrar os alvos.
Levantamento de 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 movi- mentos 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 terá 7 cores (amarelo, azul, branco, marrom, preto, verde e vermelho).
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 preta de 15cm.
RNF06 O placar mostrado aos usuários deve ser de fácil identificação.
RNF07 O robô deve ter uma cor para identificação.