Simulação
Sprint 3 – Simulação do Robô com ROS2
Objetivos Principais
- Configurar o ambiente ROS e entender seu funcionamento;
- Simular o robô Unitree Go2 no Gazebo;
- Continuar testes no ambiente Unity (Autonomous Stack GO2);
- Entender como funciona os tópicos do LiDAR do GO2;
- Estudar a possibilidade de rodar o simulador em containers pelo Docker.
Atividades Realizadas na Sprint 3
Gazebo
Durante essa sprint, a parte da equipe responsável pelo Gazebo realizou as seguintes atividades: - Estudo das funcionalidades do Gazebo e do RViz; o Gazebo foi escolhido como simulador principal devido à sua leveza relativa; - Importação de modelos de controlador do Unitree Go2; - Importação do modelo 3D do Inteli (criado por @Melomm); - Testes com o NAV2 para navegação 2D autônoma; não foi encontrada uma implementação do NAV2 compatível com nosso robô que utilizasse SLAM.
Unity
Durante essa sprint, a parte da equipe responsável pelo Unity realizou as seguintes atividades:
- Testes para verificar se os tópicos do LiDAR do simulador funcionavam de forma semelhante ao comportamento real;
- Criação de um ambiente de testes que representasse o térreo do Inteli e manipulação de waypoints.
Docker
Durante essa sprint, a parte da equipe responsável pelo Docker realizou as seguintes atividades:
- Estudo da viabilidade do uso do Docker;
- Estudo da implementação do Docker com simuladores;
- Estudo da implementação do Docker com ROS2;
- Tentativa de implementação do simulador Unity em um container Docker.
Visualização de dados de sensores do robô
Com os dados coletados pela equipe de Segurança, conseguimos fazer uma visualização tridimensional do mapa captado pelo robô por meio de seu sensor LiDAR. Um pequeno cliente lê os dados armazenados em arquivos .csv e transmite-os em tópicos de ROS, que por sua vez podem ser recebidos e interpretados como uma nuvem de pontos pelo aplicação RViz. Essa visualização nos permite compreender um pouco melhor a verdadeira lógica por trás do comportamento do cachorro, e essa informação será de muita importância para o desenvolvimento do projeto.
Figura 1 - Visualização da Point Cloud real no RViz

Fonte: Produzida pelos autores (2025).
Problemas e Impeditivos Encontrados
Gazebo
- Não achamos nenhum modelo fiel do robô, que incluisse os sensores LiDAR.
Unity
- Problemas de importação de modelos de espaço para o simulador;
- Dificuldade de comunicação do ROS com o sistema;
- Dificuldade de achar utilidade nas informações transferidas
- Impossibilidade de fazer qualquer alteração maior no sistema sem acesso ao código fonte.
Docker
- Falta de exemplos que utilizassem todas as tecnologias juntas;
- Uso excessivo de memória RAM ao buildar os simuladores;
- Necessidade do Ubuntu 22.04 (especificamente).
Próximos Passos
- Começar testes de ROS no robô físico;
- Começar testes de LiDAR no robô físico;
- Começar a integração dos repositórios encontrados com o robô físico;
- Colocar em containers os simuladores escolhidos com implementação ROS.
Aprendizados
Gazebo
- Comunicação código e robô via ROS2;
- Como funciona a nuvem de pontos do LiDAR;
- Diversos modelos de navegação autônoma e controle manual para o Go2.
Unity
- Entendi da comunicação do ROS2;
- Funcionamento do LiDAR;
Docker
- Formas de rodar ROS em um container;
- Como rodar as interfaces gráficas do simulador mesmo dentro de um container;
- Formas de reduzir o uso da memória RAM ao rodar simuladores.
Links Relevantes
Gazebo
Unity
Docker
- Docker for ROS 2 | ROS Developers Open Class 198
- The Complete Beginner's Guide to Using Docker for ROS 2 Deployment (2025 Edition)
- louislelay/ros_docker
- jizhang-cmu/autonomy_stack_go2
Conclusão
Nesta sprint, o grupo teve ótimo avanço no entendimento dos simuladores e de como integrar o Go2 ao ROS2. Mesmo com os obstáculos - como a falta de um modelo completo adequado no Gazebo - as limitações do simulador em Unity, e as limitações de recursos no Docker, a equipe conseguiu evoluir e ter mais clareza sobre o que funciona, o que ainda precisa ser ajustado e quais caminhos seguir. Com o que aprendemos, a equipe está mais preparada para iniciar os testes com ROS2 no robô físico, validar os dados enviados pelo LiDAR real, e continuar a integração dos simuladores. A sprint serviu para consolidar a base técnica do projeto e deixar a equipe mais segura para os próximos passos.