Exploração e Integração
Sprint 5 - Definições Finais de Arquitetura e Integração
1. Resumo
Nesta reta final do projeto, os esforços foram concentrados na consolidação da arquitetura de navegação e o sistema de comunicação. O foco principal foi garantir que os subsistemas críticos (navegação autônoma, interação por voz e infraestrutura de rede) operassem de forma estável e integrada no ambiente real.
Os principais marcos atingidos foram:
- Validação da lógica de navegação via Nav2 + SLAM com coordenadas relativas.
- Implementação completa do pipeline de conversão e reprodução de áudio via WebRTC.
- Estabilização da conectividade na rede corporativa através de solução customizada com Zenoh.
2. Navegação e Posicionamento
Refinamos o entendimento e a lógica de como o robô interpreta o ambiente e executa trajetórias. Confirmou-se que a movimentação não depende da interface visual (Rviz) em tempo de execução, mas sim de coordenadas processadas pelo backend.
Estratégia de Checkpoints
A equipe definiu endpoints (comandos diretos) associados a checkpoints (posições físicas no mapa). A operação baseia-se na tese de Posicionamento Relativo.
- Detalhe importante: para que o posicionamento funcione corretamente, o robô deve ser inicializado na "Posição Inicial" (Home). A partir deste ponto zero, ele calcula a localização de cada sala baseando-se nas coordenadas gravadas no mapa do SLAM.
3. Sistema de Áudio (WebRTC e Conversão)
Foi finalizada a implementação do módulo de voz. Para garantir que o robô consiga "falar" em tempo real com baixa latência, desenvolvemos um fluxo de dados para tratamento de mídia.
Pipeline de Processamento
- Recebimento via WebSocket: O sistema recebe o áudio em formato de texto codificado (Base64).
- Decodificação: Transformação do código Base64 em arquivo de áudio compactado (MP3).
- Conversão para WAV: Conversão do MP3 para WAV para processamento compatível.
- Reprodução via WebRTC: Transmissão interna do arquivo WAV para os alto-falantes do robô.
4. Infraestrutura de Rede
Durante as sprints, houve um avanço significativo na arquitetura de conectividade, superando os desafios de integração com a infraestrutura do campus.
O Desafio
A equipe precisava garantir que os dados do sistema (ROS 2) trafegassem corretamente dentro da rede Inteli.Iot. O protocolo padrão (DDS) enfrentava bloqueios de descoberta e instabilidade devido às restrições de tráfego (multicast) típicas de redes corporativas complexas.
A Solução
A equipe solucionou os impeditivos de rede através da implementação do zenoh-bridge-ros2dds, orquestrado pelo repositório customizado zenoh-plugin-ros2dds-nix.
Essa abordagem permitiu que o robô operasse 100% conectado à rede institucional "Inteli.Iot". O bridge encapsula o tráfego ROS 2 e o transporta de forma eficiente pela rede, garantindo comunicação estável, segura e sem a necessidade de roteadores dedicados.
5. Glossário de Conceitos Técnicos
Comunicação e Rede
- zenoh-plugin-ros2dds-nix: Repositório e artefato Nix desenvolvido/utilizado pela equipe para implementar o
zenoh-bridge-ros2dds. Ele atua como uma ponte que conecta o protocolo DDS do ROS 2 à rede, permitindo o tráfego de dados em ambientes corporativos complexos (como a rede do Inteli) sem falhas de descoberta. - Inteli.Iot: Rede Wi-Fi corporativa da instituição. Graças à implementação do Zenoh, o robô agora opera plenamente nesta rede, integrando-se ao ecossistema conectado do campus.
- WebSocket: Canal de comunicação bidirecional que permite o envio contínuo de dados (como streams de áudio) sem recarregar a conexão.
- WebRTC (Web Real-Time Communication): Tecnologia que permite a transmissão de áudio e vídeo instantânea, essencial para a voz do robô.
Robótica e Navegação
- SLAM (Simultaneous Localization and Mapping): Técnica computacional que permite ao robô construir um mapa do ambiente ao mesmo tempo em que estima sua própria localização.
- Nav2 (Navigation 2): Framework de navegação do ecossistema ROS 2, responsável pelo planejamento de rotas e desvio de obstáculos dinâmicos.
- Rviz (ROS Visualization): Ferramenta gráfica de visualização 3D utilizada para diagnósticos (ver o que o robô vê), embora a navegação final independa dela.
- ROS 2: Middleware que conecta todos os componentes do robô (lidar, motores, áudio), permitindo a troca de mensagens.
6. Considerações Finais
As Sprints 5 foram decisivas para transformar componentes isolados em uma arquitetura sistêmica funcional. A validação bem-sucedida da operação na rede Inteli.Iot (viabilizada pelo zenoh-plugin-ros2dds-nix) removeu os principais bloqueios de escalabilidade do projeto.
Com a infraestrutura de rede resolvida e a navegação relativa validada, o sistema está pronto para atuar no ambiente real.