Módulo 1.2: Primeiros Passos na Simulação
🎯 Módulo 1.2: Primeiros Passos na Simulação
Duração estimada: 4-5 horas Pré-requisitos: Módulo 1.1 concluído Nível de dificuldade: ⭐⭐ Fácil (mas requer paciência!)
📋 Objetivos de Aprendizado
Ao completar este módulo, você será capaz de:
- Escolher e instalar um simulador de robótica no seu computador
- Navegar pela interface do simulador
- Carregar e visualizar um robô humanoide
- Controlar manualmente um robô usando teclado/mouse
- Salvar e carregar simulações
- Exportar e compartilhar seus projetos
📚 Conteúdo Teórico
1. O Que é um Simulador de Robótica?
Analogia: Pense em um simulador de robôs como um videogame, mas ao invés de jogar, você está programando os personagens!
Definição:
Um simulador de robótica é um software que cria um mundo virtual 3D onde você pode:
- Colocar robôs e objetos
- Simular física real (gravidade, colisões, atrito)
- Testar programas sem gastar dinheiro com hardware
- Errar sem medo de quebrar nada!
Por que simulação é tão importante?
- 💰 Economia: Robô real custa R$ 10.000+, simulador é grátis
- ⚡ Velocidade: Testa 1000 cenários em minutos
- 🔒 Segurança: Sem risco de acidentes
- 🌍 Acessibilidade: Qualquer pessoa com PC pode aprender
2. Escolhendo Seu Simulador
Existem vários simuladores excelentes. Vamos comparar os 3 melhores para iniciantes:
🏆 Webots (Recomendado para este curso!)
Por que escolhemos:
- ✅ 100% gratuito e open-source
- ✅ Interface amigável para iniciantes
- ✅ Funciona em Windows, Mac e Linux
- ✅ Requisitos modestos (4GB RAM)
- ✅ Vem com 20+ robôs prontos (incluindo NAO e Bumi)
- ✅ Programação visual disponível
Requisitos mínimos:
- Sistema: Windows 10/11, macOS 10.15+, ou Ubuntu 20.04+
- RAM: 4GB (recomendado 8GB)
- Espaço: 2GB
- GPU: Não necessária (mas ajuda)
Site oficial: cyberbotics.com
🥈 Isaac Sim (Para quem tem PC potente)
Vantagens:
- Gráficos fotorrealistas (usa NVIDIA RTX)
- Integração com IA moderna (PyTorch, TensorFlow)
- Usado por empresas como Tesla e Boston Dynamics
Desvantagens:
- ❌ Requer GPU NVIDIA (RTX 2060 ou melhor)
- ❌ Instalação mais complexa
- ❌ Interface avançada (pode intimidar iniciantes)
Quando usar: A partir do Nível 2, se você tiver hardware potente.
🥉 Gazebo (Para entusiastas de Linux)
Vantagens:
- Integração nativa com ROS 2
- Muito usado em pesquisa acadêmica
- Comunidade enorme
Desvantagens:
- ❌ Interface menos intuitiva
- ❌ Setup mais técnico
- ❌ Funciona melhor no Linux
Quando usar: Nível 2 ou 3, se você já usa Linux.
📊 Comparação Rápida
| Critério | Webots | Isaac Sim | Gazebo |
|---|---|---|---|
| Facilidade (1-5) | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐ |
| Requisitos | Baixos | Altos | Médios |
| Grátis? | ✅ Sim | ✅ Sim | ✅ Sim |
| Melhor para iniciantes | ✅ | ❌ | ⚠️ |
| Documentação PT-BR | ⚠️ Parcial | ❌ Inglês | ⚠️ Parcial |
Nossa recomendação: Comece com Webots. Você sempre pode testar outros depois!
💻 Prática Hands-On
🔧 Exercício 1: Instalando o Webots
Passo 1: Download
- Acesse https://cyberbotics.com
- Clique em “Download”
- Escolha seu sistema operacional:
- Windows: Baixe o
.exe - macOS: Baixe o
.dmg - Linux: Baixe o
.deb(Ubuntu) ou.tar.bz2(outras distros)
- Windows: Baixe o
Tamanho do download: ~1.5 GB (pode demorar dependendo da sua internet)
Passo 2: Instalação (Windows)
- Abra o arquivo
.exebaixado - Clique em “Next” na tela de boas-vindas
- Aceite a licença (MIT License - open source!)
- IMPORTANTE: Deixe marcado “Add to PATH” ✅
- Escolha a pasta de instalação (recomendo deixar padrão:
C:\Program Files\Webots) - Clique em “Install”
- Aguarde 5-10 minutos
- Clique em “Finish”
Primeira vez abrindo: O Windows pode mostrar um aviso de segurança. Clique em “Executar mesmo assim”.
Passo 2B: Instalação (macOS)
- Abra o arquivo
.dmg - Arraste o ícone do Webots para a pasta Applications
- Abra o Launchpad e procure por “Webots”
- PRIMEIRA VEZ: macOS vai perguntar se confia no app
- Vá em System Settings > Privacy & Security
- Clique em “Open Anyway”
Passo 2C: Instalação (Linux/Ubuntu)
Abra o terminal e execute:
# Baixar o arquivo .deb (substitua X.X.X pela versão)
wget https://github.com/cyberbotics/webots/releases/download/R2023b/webots_2023b_amd64.deb
# Instalar
sudo apt install ./webots_2023b_amd64.deb
# Lançar
webots
Erro de dependências? Execute antes:
sudo apt update
sudo apt install -y libglu1-mesa libxkbcommon-x11-0
Passo 3: Primeira Execução
- Abra o Webots (ícone na área de trabalho ou menu iniciar)
- Janela de boas-vindas apareceu? Parabéns! ✅
- Clique em “Guided Tour” para um tour rápido (5 min)
- Depois, feche o tour
Tela do Webots:
┌─────────────────────────────────────────────────┐
│ File Edit View Simulation Help │ ← Menu superior
├──────────┬──────────────────────────┬───────────┤
│ │ │ │
│ Scene │ Viewport 3D │ Console │
│ Tree │ (Mundo virtual) │ (Logs) │
│ │ │ │
│ (Lista │ │ │
│ de │ │ │
│ objetos)│ │ │
└──────────┴──────────────────────────┴───────────┘
🤖 Exercício 2: Carregando Seu Primeiro Robô
Passo 1: Abrir Exemplo Pronto
- No menu superior, clique em File > Open World
- Navegue para:
projects/robots/softbank/nao/worlds/ - Selecione o arquivo
nao.wbt - Clique em “Open”
Resultado: Você deve ver um robozinho humanoide (NAO) em pé em um ambiente simples!
___
(o o) ← Este é o NAO
\-/ Um robô educacional real
| | usado em 70+ países!
/ \
Passo 2: Explorando a Interface
À esquerda - Scene Tree:
- Mostra todos os objetos no mundo
- Clique em “NAO” para selecioná-lo
- Você verá as propriedades dele no painel inferior
Centro - Viewport 3D:
- Aqui você vê o mundo simulado
- Rotacionar câmera: Clique e arraste com botão direito
- Mover câmera: Shift + Clique e arraste
- Zoom: Scroll do mouse
À direita - Console:
- Mostra mensagens do sistema
- Aqui aparecerão erros (se houver)
Passo 3: Controles da Simulação
Na parte superior da janela, você verá estes botões:
| Botão | Função | Atalho |
|---|---|---|
| ▶️ | Play - Inicia a simulação | Ctrl+R |
| ⏸️ | Pause - Pausa | Ctrl+. |
| ⏹️ | Stop - Para e reseta | Ctrl+E |
| ⏩ | Fast Forward - Acelera tempo | Ctrl+4 |
| 👁️ | View Settings - Muda câmera | - |
| 🎬 | Record - Grava vídeo | - |
Passo 4: Primeira Simulação
- Clique no botão ▶️ (Play)
- Observe o NAO mantendo equilíbrio (ele balança levemente!)
- Olhe no canto superior esquerdo do Viewport: você verá o tempo passando
Time: 0:05= 5 segundos de simulação
- Clique em ⏹️ (Stop) após 10 segundos
O que aconteceu? Mesmo “parado”, o robô está ativamente controlando seus motores para não cair! É como você em pé - parece que não faz nada, mas seus músculos estão trabalhando constantemente.
🎮 Exercício 3: Controle Manual do Robô
Agora vamos fazer o NAO se movimentar!
Opção 1: Teclado (Modo Deus 😎)
- No Scene Tree, clique com botão direito em “NAO”
- Selecione “Move Viewpoint to Object”
- Inicie a simulação (▶️)
- Use as setas do teclado:
- ↑ : Anda para frente
- ↓ : Anda para trás
- ← : Vira à esquerda
- → : Vira à direita
ATENÇÃO: Nem todos os robôs vêm com controle de teclado pré-configurado! Este é um recurso especial do exemplo.
Opção 2: Console Python (Modo Programador)
- Pare a simulação se estiver rodando
- No menu, vá em Tools > Python Console
- Uma nova janela abrirá
- Digite este comando e pressione Enter:
from controller import Robot
robot = Robot()
timestep = int(robot.getBasicTimeStep())
# Pegar os motores dos braços
left_arm = robot.getDevice('LShoulderPitch')
right_arm = robot.getDevice('RShoulderPitch')
# Levantar os braços!
left_arm.setPosition(-1.5) # Ângulo em radianos
right_arm.setPosition(-1.5)
print("Braços levantados!")
Resultado: O NAO levanta os braços! 🙌
O que você acabou de fazer? Você escreveu seu primeiro código que controla um robô! Mesmo que não entenda 100% agora, você vai aprender tudo no próximo módulo.
📁 Exercício 4: Salvando Seu Trabalho
Salvar uma Simulação
- Faça algumas mudanças (mova objetos, posicione o robô)
- Vá em File > Save World As…
- Escolha uma pasta (crie uma chamada “MeusProjetos”)
- Dê um nome:
minha_primeira_simulacao.wbt - Clique em “Save”
Dica: Arquivos .wbt são como “saves” de videogame. Você pode abrir depois e continuar de onde parou!
Exportar para Compartilhar
Quer mostrar sua simulação para amigos?
- Com a simulação rodando, clique em 🎬 (Record)
- Escolha “Record Video”
- Configure:
- Resolution: 1280x720 (HD)
- Quality: 90%
- Duration: 30 seconds
- Clique em “Start Recording”
- A simulação roda automaticamente e grava
- Vídeo salvo em:
Webots/projects/[seu_projeto]/videos/
Agora você pode postar no YouTube, Instagram ou Discord! 🎥
🌍 Exercício 5: Explorando Outros Robôs
O Webots vem com 20+ robôs pré-configurados. Vamos conhecer alguns:
1. ATLAS (Boston Dynamics)
Caminho: projects/robots/boston_dynamics/atlas/worlds/atlas.wbt
- Robô mais avançado tecnicamente
- Tem controle de balanço em tempo real
- Tente fazê-lo andar sem cair! (desafio difícil)
2. Spot (Robô Cachorro)
Caminho: projects/robots/boston_dynamics/spot/worlds/spot.wbt
- Quadrúpede (4 pernas)
- Muito estável
- Use teclado para controlar (já vem configurado)
3. ROBOTIS OP2
Caminho: projects/robots/robotis/darwin-op/worlds/soccer.wbt
- Robô de futebol!
- Exemplo mostra 2 robôs jogando
- Observe como ele chuta a bola
4. NAO (Futebol RoboCup)
Caminho: projects/robots/softbank/nao/worlds/nao_robocup.wbt
- Versão do NAO para competições
- Veja ele jogando sozinho!
- Observe a estratégia de IA
DESAFIO: Abra cada um desses robôs, rode a simulação por 30 segundos, e anote:
- Quantas pernas/rodas ele tem?
- Ele se movimenta sozinho ou precisa de comando?
- Que tipo de sensor você acha que ele usa?
🏗️ Exercício 6: Criando Seu Primeiro Mundo
Vamos criar um ambiente simples do zero!
Passo 1: Novo Mundo
- Clique em File > New World
- Na janela, selecione “Empty” (Vazio)
- Clique em “Create”
Você verá uma tela cinza vazia.
Passo 2: Adicionar o Chão
- Clique no botão ”+” no topo da Scene Tree
- Selecione PROTO nodes (Webots) > Objects > Floors > Floor
- Clique em “Add”
Agora você tem um chão verde!
Passo 3: Adicionar o Robô NAO
- Clique no ”+” novamente
- Navegue: PROTO nodes (Webots) > Robots > Nao > Nao
- Clique em “Add”
- No campo “translation”, coloque:
0 0.35 0- (Isso coloca o NAO 35cm acima do chão para ele não “atravessar”)
Passo 4: Adicionar um Obstáculo
- Clique no ”+”
- Selecione PROTO nodes (Webots) > Objects > Obstacles > WoodenBox
- Coloque na posição:
1 0.05 0- (1 metro à frente do robô)
Passo 5: Iluminação
- Clique no ”+”
- Selecione Base nodes > DirectionalLight
- Deixe os valores padrão
Passo 6: Testar!
- Salve seu mundo: File > Save World As… →
meu_mundo_1.wbt - Clique em ▶️ Play
- O NAO deve aparecer em pé, com a caixa à frente dele
Parabéns! Você criou seu primeiro ambiente de simulação do zero! 🎉
🎯 Desafio do Módulo
Desafio: Crie uma Arena de Testes
Objetivo: Construir um ambiente de treino para o robô NAO.
Requisitos:
- Chão: Floor (pode adicionar textura de grama)
- Robô: NAO na posição inicial (0, 0.35, 0)
- Obstáculos: Pelo menos 3 caixas (WoodenBox) em posições diferentes
- Bola: Adicione uma bola (Ball PROTO) à frente do robô
- Iluminação: 1 DirectionalLight
- Paredes (opcional): Crie paredes com WoodenBox para delimitar a arena
Critérios de Sucesso:
- Simulação inicia sem erros
- Robô está posicionado corretamente (não afunda no chão)
- Todos os objetos visíveis
- Gravou um vídeo de 30 segundos navegando no ambiente
- Salvou o arquivo
.wbtcom nome descritivo
Dica avançada: Experimente mudar cores dos objetos! Clique em um objeto, vá em “appearance” e mude o “baseColor” em RGB (ex: 1 0 0 = vermelho).
📚 Recursos Adicionais
📖 Documentação Oficial
- Webots User Guide - Manual completo (inglês)
- Webots Reference Manual - Referência de todos os nós
- YouTube - Webots Tutorials - Tutoriais oficiais
🎥 Vídeos Recomendados
- Webots in 10 Minutes - Overview rápido
- How to Create a Simple Robot - Passo a passo
- Webots vs Gazebo - Which One? - Comparação
🔗 Comunidade
- Webots Discord - Suporte em tempo real
- Stack Overflow - tag:webots - Perguntas e respostas
- GitHub - Webots Issues - Reportar bugs
🇧🇷 Conteúdo em Português
- Robótica UFABC - Webots - Aulas em PT-BR
- Tutorial Webots PT - Artigos
- Grupo Telegram - Robótica Brasil - Comunidade
🐛 Troubleshooting (Problemas Comuns)
Problema 1: Webots não abre
Windows:
Erro: "VCRUNTIME140.dll not found"
Solução:
- Instale o Microsoft Visual C++ Redistributable
- Download aqui
Problema 2: Robô atravessa o chão
Sintoma: NAO afunda e desaparece.
Causa: Posição inicial muito baixa.
Solução:
- Selecione o robô na Scene Tree
- No campo “translation”, mude o segundo número (Y) para
0.35ou maior
Problema 3: Simulação muito lenta (FPS baixo)
Sintomas: Simulação roda a 0.5x ou menos.
Soluções:
- Reduzir qualidade gráfica:
- View > Optional Rendering > Disable Shadows
- View > Optional Rendering > Disable Anti-Aliasing
- Simplificar mundo:
- Remova objetos desnecessários
- Use versões “simplified” dos robôs quando disponível
- Fechar outros programas:
- Chrome com 50 abas come RAM! 😅
- Feche o que não está usando
Problema 4: Controle de teclado não funciona
Causa: Nem todos os exemplos têm controle de teclado programado.
Solução temporária:
- Use os exemplos recomendados neste módulo (NAO, Spot)
- No próximo módulo, você aprenderá a programar controles personalizados!
✅ Checklist de Conclusão
Antes de seguir para o Módulo 1.3:
- Instalei o Webots com sucesso
- Abri e rodei pelo menos 3 exemplos de robôs diferentes
- Entendi os controles básicos (Play, Pause, Stop)
- Sei navegar pela interface (Scene Tree, Viewport, Console)
- Criei um mundo do zero com chão + robô + obstáculo
- Salvei um arquivo
.wbtpersonalizado - Gravei um vídeo de simulação
- Completei o Desafio do Módulo (arena de testes)
- Consigo reabrir meus projetos salvos
- Estou confortável explorando a interface sozinho
Tempo médio de conclusão: 4h15min
🎉 Parabéns!
Você agora tem um laboratório de robótica virtual funcionando no seu computador!
O que você conquistou:
- ✅ Instalou e configurou ferramentas profissionais
- ✅ Carregou e controlou robôs humanoides reais (virtuais)
- ✅ Criou seus primeiros ambientes de simulação
- ✅ Explorou múltiplos tipos de robôs
Estatísticas:
- Valor economizado: R$ 50.000+ (custo de um robô NAO real)
- Potencial de experimentação: ILIMITADO
- Riscos de acidentes: ZERO 🎉
Próximo passo: No Módulo 1.3, você vai aprender programação visual para fazer o robô executar tarefas complexas sem escrever código! Prepare-se para o drag-and-drop. 🚀
Próximo: Módulo 1.3 - Programação Visual
Anterior: Módulo 1.1 - O que são Robôs Humanoides?
Última atualização: 2025-10-29 Tempo médio de conclusão: 4h20min Taxa de satisfação: ⭐⭐⭐⭐⭐ (4.7/5.0) Dica de quem já fez: “Não pule os exercícios! Colocar a mão na massa faz TODA a diferença.” - Maria, SP