Requisitos
Documento que descreve as funcionalidades, restrições e critérios técnicos que orientam o desenvolvimento e a validação do micromouse Rato Cego.
Visão Geral dos Requisitos
Este documento consolida os requisitos do projeto Rato Cego, um robô móvel autônomo capaz de mapear e solucionar labirintos. Os requisitos orientam as decisões das equipes de Hardware, Estruturas, Energia e Software, assegurando que os subsistemas sejam desenvolvidos de forma integrada e atendam aos objetivos definidos no Termo de Abertura do Projeto.
Cada requisito possui um identificador único, uma descrição objetiva, uma prioridade e os campos destinados à definição dos responsáveis e ao acompanhamento no GitHub Projects. A numeração é contínua dentro de cada tipo de requisito, independentemente da área responsável.
Classificação e Priorização
Os Requisitos Funcionais (RF) definem os comportamentos e serviços que o micromouse e seus sistemas associados devem fornecer, como navegação, monitoramento e registro de dados.
Os Requisitos Não Funcionais (RNF) estabelecem critérios mensuráveis de qualidade, desempenho, segurança e restrições físicas que a solução deve cumprir.
A prioridade de cada item é definida pela classificação MoSCoW:
- Must: requisito indispensável para a entrega e validação do projeto.
- Should: requisito importante, a ser implementado quando houver viabilidade técnica e de prazo.
- Could: requisito desejável, implementado caso não comprometa os itens de maior prioridade.
Requisitos Funcionais (RF)
Energia
| ID | Nome do Requisito | Descrição | Prioridade | Responsáveis | Link Github Projects |
|---|---|---|---|---|---|
| RF1 | Telemetria energética em tempo real | Durante cada percurso, o sistema deve exibir no sistema web o consumo de bateria em tempo real e associá-lo à execução realizada. | Must | Gabriel Andrade Magioli | #1 |
| RF2 | Isolamento manual da alimentação | O circuito de alimentação deve incluir uma chave física de fácil acesso que desconecte a bateria dos subsistemas do robô, permitindo desligamento seguro durante transporte, montagem e manutenção. | Must | Rafael Silva Wasconcelos | #2 |
| RF3 | Aviso web de bateria baixa | O firmware deve acompanhar periodicamente a tensão da bateria e, ao identificar nível crítico, emitir um aviso no sistema web durante a execução. | Must | Pedro Gustavo Nunes Silva | #3 |
| RF4 | Bateria removível e reinstalável | A bateria deve poder ser removida e recolocada no micromouse de forma simples, sem exigir a desmontagem completa do chassi. | Could | Gabriel Andrade Magioli | #4 |
Hardware
| ID | Nome do Requisito | Descrição | Prioridade | Responsáveis | Link Github Projects |
|---|---|---|---|---|---|
| RF5 | Reconhecimento Espacial e Detecção de Obstáculos | O sistema deve realizar a amostragem contínua do ambiente por meio de sensores de proximidade para identificar a presença de paredes (5 cm de altura) e aberturas nas direções frontal, laterais e diagonais. | Must have | Maria Laura | #53 |
| RF6 | Processamento Embarcado Autônomo | O sistema deve utilizar unidade microcontrolada para executar localmente a leitura de sensores, a lógica de controle e o armazenamento do mapa em memória, sem dependência de processamento externo. | Must have | Vinícius Araújo Oliveira | #54 |
| RF7 | Acionamento e Modulação de Potência Motriz | O sistema deve conter driver de potência para converter comandos lógicos em acionamento elétrico reversível com modulação contínua de velocidade (PWM) para os motores de tração. | Must have | Maria Laura | #55 |
| RF8 | Manutenção de Trajetória Centralizada | O sistema de atuação deve ajustar o movimento diferencial do robô para manter a trajetória reta e centralizada entre as paredes dos corredores do labirinto. | Must have | Vinícius Araújo Oliveira | #56 |
| RF9 | Execução de Curvas e Manobras de Rotação | O sistema de tração diferencial deve permitir a execução precisa de giros de 90° e 180° sobre o próprio eixo do robô, compatíveis com as células de 18 cm × 18 cm do labirinto. | Must have | Maria Laura | #57 |
| RF10 | Transmissão Sem Fio de Telemetria | O sistema deve disponibilizar canal de comunicação sem fio para enviar pacotes de dados da corrida em tempo real para a aplicação web. | Must have | Vinícius Araújo Oliveira | #58 |
| RF11 | Regulação e Distribuição de Energia | O sistema deve receber a alimentação da fonte recarregável e distribuir tensões reguladas e estáveis para a eletrônica de controle, sensores e atuadores. | Must have | Maria Laura | #59 |
| RF12 | Interface Física de Operação e Disparo | O sistema deve conter chave ou botão físico acessível externamente no chassi para comando manual de início e interrupção da navegação. | Must have | Vinícius Araújo Oliveira | #60 |
Estruturas
| ID | Nome do Requisito | Descrição | Prioridade | Responsáveis | Link Github Projects |
|---|---|---|---|---|---|
| RF13 | Proteção dos componentes internos | A estrutura deve proteger os componentes eletrônicos, sensores, motores e demais módulos internos contra choques mecânicos e possíveis danos decorrentes da movimentação ou de eventuais colisões durante a execução dos percursos. | Must | Heitor Santos Nobre | #73 |
| RF14 | Acesso aos componentes internos | A estrutura deve permitir o acesso aos componentes internos para inspeção, manutenção, substituição e realização de ajustes, sem exigir a desmontagem completa do chassi. | Should | Heitor Santos Nobre | #72 |
| RF15 | Fixação dos subsistemas | A estrutura deve possuir pontos de fixação adequados para acomodar e manter posicionados os componentes dos subsistemas de Hardware, Energia e Software embarcado, evitando deslocamentos durante a movimentação do micromouse. | Must | Heitor Santos Nobre | #71 |
| RF16 | Modularidade estrutural | A estrutura deve permitir a substituição ou atualização de módulos e componentes de forma independente, possibilitando alterações no protótipo sem a necessidade de reconstrução completa do chassi. | Should | Heitor Santos Nobre | #69 |
| RF17 | Fixação e alinhamento do sistema de locomoção | A estrutura deve possuir pontos de fixação para motores, rodas e demais elementos do sistema de locomoção, mantendo seu posicionamento e alinhamento durante a execução dos percursos. | Must | Heitor Santos Nobre | #68 |
| RF18 | Acomodação e posicionamento dos sensores | A estrutura deve possuir espaços e pontos de fixação adequados para a instalação dos sensores nas posições definidas pelo projeto, permitindo que permaneçam orientados e desobstruídos durante o percurso. | Must | Heitor Santos Nobre | #67 |
| RF19 | Organização e proteção do cabeamento | A estrutura deve disponibilizar meios para organizar e proteger os cabos e conexões internas, evitando que interfiram na movimentação das rodas, motores, sensores ou demais componentes durante a operação. | Must | Heitor Santos Nobre | #66 |
| RF20 | Acesso aos elementos de operação | A estrutura deve permitir o acesso externo aos elementos necessários para operação, manutenção e preparação do micromouse, como chave de alimentação, conectores e demais interfaces definidas pelos subsistemas. | Should | Heitor Santos Nobre | #64 |
Software
| ID | Nome do Requisito | Descrição | Prioridade | Responsáveis | Link Github Projects |
|---|---|---|---|---|---|
| RF21 | Identificação de paredes | O software do Rato Cego deve identificar a presença de paredes no percurso a partir dos dados fornecidos pelos sensores. | Must | Thiago Alencar | #21 |
| RF22 | Localização no labirinto | O software do Rato Cego deve monitorar a localização do robô dentro do labirinto durante o percurso. | Must | Thiago Alencar | #22 |
| RF23 | Determinação do percurso | O software do Rato Cego deve determinar autonomamente os movimentos necessários para avançar pelo labirinto com base nas informações obtidas durante o percurso. | Must | Thiago Alencar | #23 |
| RF24 | Navegação autônoma | O Rato Cego deve navegar pelo labirinto sem intervenção humana durante a execução do percurso. | Must | Thiago Alencar | #24 |
| RF25 | Identificação do objetivo | O software do Rato Cego deve identificar quando o robô alcançar a área de objetivo do labirinto. | Must | Laryssa Felix Ribeiro Lopes | #25 |
| RF26 | Registro do trajeto | O sistema deve registrar o trajeto percorrido pelo Rato Cego durante cada execução. | Must | Laryssa Felix Ribeiro Lopes | #26 |
| RF27 | Transmissão de telemetria | O Rato Cego deve transmitir ao sistema web os dados de desempenho necessários para o acompanhamento da execução. | Must | Pedro Augusto Moretti Moreira | #27 |
| RF28 | Identificação do tipo de labirinto | O sistema web deve identificar e exibir o tipo de labirinto correspondente à execução atual. | Must | Maria Eduarda de Jezus Guimaraes | #28 |
| RF29 | Visualização do trajeto | Durante o percurso, o sistema web deve exibir e atualizar em tempo real o trajeto percorrido pelo Rato Cego. | Must | Pedro Augusto Moretti Moreira | #29 |
| RF30 | Monitoramento da bateria | Durante o percurso, o sistema web deve exibir e atualizar em tempo real o consumo de bateria do Rato Cego. | Must | Laryssa Felix Ribeiro Lopes | #30 |
| RF31 | Monitoramento do tempo | O sistema deve contabilizar o tempo da execução e apresentá-lo no sistema web durante o percurso. | Must | Laryssa Felix Ribeiro Lopes | #31 |
| RF32 | Exibição da velocidade média | O sistema web deve calcular e apresentar a velocidade média do Rato Cego referente à execução. | Must | Maria Eduarda de Jezus Guimaraes | #32 |
| RF33 | Resultado do desafio | O sistema web deve informar se o Rato Cego cumpriu ou não o desafio correspondente à execução. | Must | Laryssa Felix Ribeiro Lopes | #33 |
| RF34 | Armazenamento da execução | Após a execução, o sistema deve armazenar no banco de dados as informações coletadas durante o percurso. | Must | Pedro Augusto Moretti Moreira | #34 |
| RF35 | Associação ao labirinto | O sistema deve associar os dados armazenados de cada execução ao respectivo labirinto. | Must | Pedro Augusto Moretti Moreira | #35 |
| RF36 | Consulta por labirinto | O sistema web deve permitir consultar os dados das execuções referentes a um labirinto específico. | Must | Pedro Augusto Moretti Moreira | #36 |
| RF37 | Consulta geral | O sistema web deve permitir consultar conjuntamente os dados armazenados das execuções realizadas nos diferentes labirintos. | Must | Maria Eduarda de Jezus Guimaraes | #37 |
| RF38 | Consulta local do estado energético | O Rato Cego poderia informar localmente a condição da bateria por meio de um indicador visual, permitindo sua verificação sem acesso ao sistema web. | Could | Laryssa Felix Ribeiro Lopes | #38 |
| RF39 | Conservação em bateria baixa | O firmware do Rato Cego deveria monitorar a condição da bateria e, ao identificar nível crítico, adotar medidas para preservar energia e evitar desligamentos abruptos durante a execução. | Should | Laryssa Felix Ribeiro Lopes | #39 |
| RF40 | Sinalização do ciclo de recarga | Durante a recarga, o Rato Cego poderia indicar visualmente o estado do ciclo de carregamento. | Could | Laryssa Felix Ribeiro Lopes | #40 |
Requisitos Não-Funcionais (RNF)
Energia
| ID | Nome do Requisito | Descrição | Prioridade | Responsáveis | Link Github Projects |
|---|---|---|---|---|---|
| RNF1 | Autonomia operacional | Com sensores, controle, motores e telemetria ativos no perfil normal de corrida, o Rato Cego deve funcionar continuamente por pelo menos 30 minutos sem recarga ou troca de bateria. | Must | Rafael Silva Wasconcelos | #5 |
| RNF2 | Rendimento da conversão de energia | Os conversores e reguladores de tensão devem apresentar eficiência igual ou superior a 85% na faixa nominal de carga dos subsistemas que alimentam. | Should | Pedro Gustavo Nunes Silva | #6 |
| RNF3 | Consumo em inatividade | Quando o robô estiver ligado e sem executar uma corrida, a corrente total do sistema deve permanecer em até 50 mA, desativando periféricos que não sejam necessários. | Should | Gabriel Andrade Magioli | #7 |
| RNF4 | Aviso preventivo de descarga | O sistema deve reconhecer a condição de baixa carga e gerar alerta quando qualquer célula atingir 3,3 V, antes de alcançar uma faixa que possa comprometer sua vida útil. | Must | Rafael Silva Wasconcelos | #8 |
| RNF5 | Restrição de massa do conjunto energético | Bateria, circuito de recarga, reguladores, proteções e cabeamento de alimentação não podem, em conjunto, ultrapassar 25% da massa final do micromouse. | Must | Pedro Gustavo Nunes Silva | #9 |
| RNF6 | Integridade da alimentação dos sensores | Sob aceleração e partida dos motores, a tensão fornecida aos sensores deve se manter entre 95% e 105% de seu valor nominal. | Must | Gabriel Andrade Magioli | #10 |
| RNF7 | Proteção contra falhas elétricas | O sistema de alimentação deve interromper ou limitar a corrente em situações de sobrecorrente ou curto-circuito, protegendo a bateria e os circuitos eletrônicos. | Must | Rafael Silva Wasconcelos | #11 |
| RNF8 | Confiabilidade da telemetria energética | Após a calibração, as leituras de tensão e consumo registradas pelo robô devem apresentar erro máximo de 5% em relação ao instrumento de referência. | Should | Gabriel Andrade Magioli | #13 |
| RNF9 | Compatibilidade de tensão dos subsistemas | A tensão nominal e a faixa de descarga da bateria devem ser compatíveis com todos os subsistemas, utilizando BECs devidamente dimensionados para fornecer a tensão e a corrente requeridas por cada subsistema. | Must | Pedro Gustavo Nunes Silva | #15 |
Hardware
| ID | Nome do Requisito | Descrição | Prioridade | Responsáveis | Link Github Projects |
|---|---|---|---|---|---|
| RNF10 | Limite Dimensional e Geométrico | O robô montado não deve exceder as dimensões máximas de 16,5 cm de largura por 16,5 cm de comprimento em qualquer estado operacional. | Must have | Maria Laura | #61 |
| RNF11 | Autonomia de Alimentação | A bateria deve fornecer autonomia para no mínimo 30 minutos de operação contínua (ou 3 corridas completas) sem recarga. | Must have | Vinícius Araújo Oliveira | #62 |
| RNF12 | Proteção e Margem de Segurança Elétrica | O circuito deve possuir proteção contra inversão de polaridade e condutores dimensionados com no mínimo 30% de margem sobre a corrente de pico. | Must have | Maria Laura | #63 |
| RNF13 | Estabilidade de Tensão Lógica | O circuito de regulação deve manter flutuação máxima de ±5% nas linhas lógicas (3,3V e 5V) durante a partida dos motores. | Must have | Vinícius Araújo Oliveira | #65 |
| RNF14 | Latência da Malha Física de Resposta | O tempo decorrido entre a leitura dos sensores de proximidade e o acionamento efetivo dos motores deve ser de no máximo 50 ms. | Must have | Maria Laura | #70 |
Estruturas
| ID | Nome do Requisito | Descrição | Prioridade | Responsáveis | Link Github Projects |
|---|---|---|---|---|---|
| RNF15 | Limite dimensional do chassi | O conjunto estrutural do Rato Cego deve respeitar o limite máximo de 16,5 cm de comprimento e 16,5 cm de largura em configuração de operação, garantindo distanciamento mecânico livre de interferências para o curso dos componentes de locomoção e posicionamento desobstruído dos sensores. | Must | Heitor Santos Nobre | #74 |
| RNF16 | Compatibilidade com as dimensões do labirinto | A geometria e os elementos externos da estrutura devem ser dimensionados para livre circulação nos corredores de células de 18 cm de lado, sendo isentos de cantos vivos, arestas salientes ou pontos de atrito que possam causar travamento, arraste mecânico ou danos/deslocamento às paredes do percurso. | Must | Heitor Santos Nobre | #75 |
| RNF17 | Massa estrutural | A massa do chassi e dos elementos estruturais deve ser mantida dentro de um limite que não comprometa a aceleração, frenagem, estabilidade e autonomia do micromouse. | Must | Heitor Santos Nobre | #76 |
| RNF18 | Resistência mecânica | A estrutura deve suportar os esforços mecânicos decorrentes da movimentação, aceleração, frenagem e eventuais impactos durante os testes, sem apresentar deformações que comprometam o funcionamento do robô. | Must | Heitor Santos Nobre | #77 |
| RNF19 | Rigidez estrutural | O chassi deve apresentar rigidez suficiente para manter sua geometria e os componentes fixados em suas posições durante a execução dos percursos, evitando deformações ou folgas que prejudiquem a navegação. | Must | Heitor Santos Nobre | #78 |
| RNF20 | Estabilidade estrutural | A estrutura deve proporcionar estabilidade ao micromouse durante acelerações, frenagens, curvas e mudanças de direção, evitando inclinações ou deslocamentos que comprometam sua movimentação. | Must | Heitor Santos Nobre | #79 |
| RNF21 | Distribuição de massa | A disposição dos componentes na estrutura deve proporcionar uma distribuição de massa adequada, evitando desequilíbrios que possam prejudicar a estabilidade e o desempenho do micromouse durante o percurso. | Should | Heitor Santos Nobre | #80 |
| RNF22 | Compatibilidade entre subsistemas | A estrutura deve possuir dimensões, espaços internos e pontos de fixação compatíveis com os componentes definidos pelas equipes de Hardware, Energia e Software, permitindo a integração dos subsistemas sem interferências físicas. | Must | Heitor Santos Nobre | #81 |
| RNF23 | Precisão dimensional de fabricação | As dimensões finais da estrutura devem permanecer dentro das tolerâncias definidas no projeto, garantindo que variações decorrentes do processo de fabricação não façam o micromouse ultrapassar os limites dimensionais estabelecidos. | Must | Heitor Santos Nobre | #82 |
| RNF24 | Segurança estrutural | A estrutura não deve apresentar pontas, arestas ou elementos expostos que possam causar danos aos componentes, ao labirinto ou comprometer a operação do micromouse. | Must | Heitor Santos Nobre | #83 |
| RNF25 | Durabilidade da estrutura | A estrutura deve manter suas características mecânicas e dimensões durante os testes e execuções previstas no projeto, sem apresentar desgaste ou deformação que comprometa o funcionamento do micromouse. | Should | Heitor Santos Nobre | #84 |
| RNF26 | Facilidade de montagem e desmontagem | A estrutura deve ser projetada de forma que sua montagem, desmontagem e manutenção possam ser realizadas utilizando os recursos e ferramentas disponíveis para a equipe, sem procedimentos excessivamente complexos. | Should | Heitor Santos Nobre | #85 |
| RNF27 | Aproveitamento do espaço interno | A estrutura deve utilizar de forma eficiente o espaço disponível no chassi, permitindo a acomodação dos componentes necessários sem comprometer a circulação, manutenção, ventilação ou funcionamento dos demais subsistemas. | Should | Heitor Santos Nobre | #86 |
| RNF28 | Compatibilidade com os materiais disponíveis | Os materiais utilizados na fabricação devem ser compatíveis com os processos de fabricação, ferramentas, orçamento e recursos disponíveis para o desenvolvimento do projeto. | Must | Heitor Santos Nobre | #87 |
Software
| ID | Nome do Requisito | Descrição | Prioridade | Responsáveis | Link Github Projects |
|---|---|---|---|---|---|
| RNF29 | Tempo máximo de execução | O sistema do Rato Cego deve permitir que cada tentativa de resolução do labirinto seja realizada dentro do limite máximo de 10 minutos estabelecido para o desafio. | Must | Laryssa Felix Ribeiro Lopes | #41 |
| RNF30 | Atualização da telemetria | O sistema web deve receber, processar e atualizar em tempo real os dados de telemetria transmitidos pelo Rato Cego durante o percurso. | Must | Pedro Augusto Moretti Moreira | #42 |
| RNF31 | Integridade da telemetria | O sistema deve garantir que os dados de telemetria recebidos e apresentados correspondam aos dados transmitidos pelo Rato Cego, sem alteração indevida das informações. | Must | Pedro Augusto Moretti Moreira | #43 |
| RNF32 | Persistência dos dados | Os dados referentes às execuções concluídas devem permanecer armazenados no banco de dados e disponíveis para consultas posteriores. | Must | Pedro Augusto Moretti Moreira | #44 |
| RNF33 | Integridade dos dados armazenados | O sistema deve preservar a associação entre os dados de cada execução e o respectivo labirinto, evitando que informações de execuções distintas sejam incorretamente relacionadas. | Must | Pedro Augusto Moretti Moreira | #45 |
| RNF34 | Compatibilidade com os labirintos | O software de navegação do Rato Cego deve ser compatível com os três labirintos definidos para o projeto: 4×4, 8×4 e 12×4 células, sendo cada célula de 18 cm de lado. | Must | Thiago Alencar | #46 |
| RNF35 | Compatibilidade com o hardware | O software embarcado deve ser compatível com os componentes eletrônicos utilizados no Rato Cego e necessários às funções de sensoriamento, navegação e comunicação. | Must | Thiago Alencar | #47 |
| RNF36 | Compatibilidade com o microcontrolador | O software embarcado do Rato Cego deve ser executável no microcontrolador ESP32 utilizado no protótipo. | Must | Laryssa Felix Ribeiro Lopes | #48 |
| RNF37 | Adaptação da representação do labirinto | A interface web deveria adaptar a representação visual do mapeamento às dimensões dos três tipos de labirinto utilizados pelo Rato Cego, mantendo todas as células e o trajeto visíveis. | Should | Maria Eduarda de Jezus Guimaraes | #49 |
| RNF38 | Legibilidade da telemetria | A interface web deve apresentar separadamente os seis dados obrigatórios de telemetria: tipo do labirinto, trajeto percorrido, consumo de bateria, velocidade média, tempo de conclusão e situação de cumprimento do desafio. | Must | Pedro Augusto Moretti Moreira | #50 |
| RNF39 | Responsividade da interface | A interface web deveria adaptar sua disposição a diferentes dimensões de tela sem provocar sobreposição ou corte das informações obrigatórias de telemetria. | Should | Maria Eduarda de Jezus Guimaraes | #51 |
| RNF40 | Restrição de recursos | A solução de software deve utilizar tecnologias compatíveis com os recursos técnicos, materiais e financeiros disponíveis para o desenvolvimento do projeto. | Must | Laryssa Felix Ribeiro Lopes | #52 |