Aprender e ensinar · ROTEIRO DO CENÁRIO

Programe o primeiro comportamento do seu robô

Passe da programação básica para um comportamento de robô simulado registrado e repetível.

Revisado 27 de Outubro de 2026 · Aprendizagem editorial e orientação de projetos. Profissional significa profundidade do projeto, não uma qualificação credenciada.

O DESTINO

O que você vai produzir

Uma aplicação versionada, testes e início rápido do operador. Torne o comportamento repetível em condições de configuração e reinicialização.

Antes de começar

Iniciando conhecimento

  • Entenda variáveis, condições e funções ou aprenda-as junto com o primeiro exercício.
  • Ser capaz de instalar software compatível com ajuda.

Equipamento & meio ambiente

Use a simulação primeiro e mantenha as versões exatas do sistema operacional e do pacote em uma nota de configuração.

Sem tempo de conclusão fixo: use os portões de evidências abaixo para decidir quando avançar. Os links de recursos abrem a entrada do diretório botstest; verifique a documentação do editor para obter a versão e configuração exatas.

01

Iniciante

Escreva um pequeno programa de comando e observação

Conecte conceitos de programação ao estado e à ação do robô.

Como funciona esta etapa

Comece com um pequeno programa cujas decisões você possa inspecionar. Mantenha a observação, a decisão e o comando separados, mesmo quando inicialmente residirem em um arquivo.

Trabalhe com um exemplo

Exercício de estudo ilustrativo · escrito por botstest

Para um controlador simulado de parada de obstáculo, uma função recebe uma distância e retorna um estado. Teste a função com observações claras, próximas e indisponíveis antes de conectá-la ao simulador.

  1. Escreva a função de decisão sem chamadas de hardware.
  2. Teste entradas normais e indisponíveis.
  3. Conecte-o a um exemplo de simulação documentado.
Se der errado

Se o comportamento for confuso, registre a entrada e a decisão retornada em vez de adicionar mais comandos de movimento.

Base de referência: Construindo seu próprio robô. O exemplo e o passo a passo são aplicações editoriais da fonte.

Aprenda nesta ordem

  1. Variáveis, funções e loops limitados
  2. Observações de entrada versus comandos de saída
  3. Unidades, mensagens de erro e princípios básicos do terminal
Leia e aplique

Gazebo project · Tutorial técnico

Construindo seu próprio robô

Leia: Siga o exemplo do modelo do robô na ordem e inspecione as definições de coordenadas e juntas.

Use um modelo mínimo documentado para isolar problemas de configuração e geometria antes de adicionar mais comportamento.

Aplique: Descreva o modelo simulado e a interface de comando/observação antes de alterar o código.

Coloque em prática

  1. Escreva um programa que leia uma distância simulada e escolha parar ou mover-se.
  2. Imprima carimbos de data/hora e comandos para explicar cada transição.
Produza isso

Um pequeno controlador anotado e exemplo de saída.

Pronto para a próxima etapa quando…

Recursos para esta etapa

Webots →

Crie um pequeno robô simulado e inspecione o comportamento do sensor/controlador sem comprar hardware.

ROS 2 →

Siga o caminho oficial de aprendizagem de middleware; use a documentação correspondente à sua distribuição instalada.

02

Intermediário

Separe o robô em componentes comunicantes

Organize as observações e o comportamento para que as falhas sejam inspecionáveis.

Como funciona esta etapa

A comunicação acrescenta tempo e falha a um programa. Um componente receptor precisa saber o significado, a idade e a propriedade de cada mensagem.

Trabalhe com um exemplo

Exercício de estudo ilustrativo · escrito por botstest

Um componente de sensor publica observações enquanto um componente de comportamento escolhe comandos. Reinicie o sensor durante um teste. O receptor deve distinguir uma perda temporária de uma nova mensagem válida de caminho livre.

  1. Registre tipos de mensagens, unidades e quadros de referência.
  2. Atribua o tempo limite a um componente.
  3. Teste a inicialização, interrupção e reconexão separadamente.
Se der errado

Uma conexão saudável não prova dados novos; compare o tempo de observação com o relógio usado pelo receptor.

Base de referência: Visão geral da integração ROS 2. O exemplo e o passo a passo são aplicações editoriais da fonte.

Aprenda nesta ordem

  1. Ideias e tipos de mensagens para editores/assinantes
  2. Configuração versus constantes codificadas
  3. Transições de estado, tempos limite e entradas ausentes
Leia e aplique

Gazebo project · Tutorial técnico

Visão geral da integração ROS 2

Leia: Comece com a arquitetura de integração e siga as instruções vinculadas que correspondem ao seu par de versões.

Use a visão geral da interface para distinguir as responsabilidades de modelo, ponte, observação, comando e relógio.

Aplique: Desenhe componentes separados de sensor, comportamento e comando, incluindo o relógio e o proprietário do tempo limite.

Coloque em prática

  1. Lógica separada de detecção e decisão usando um tutorial de middleware compatível.
  2. Simule uma leitura ausente e adicione um estado de fallback explícito.
Produza isso

Uma aplicação de dois componentes com um teste de tempo limite.

Pronto para a próxima etapa quando…

Recursos para esta etapa

ROS 2 →

Siga o caminho oficial de aprendizagem de middleware; use a documentação correspondente à sua distribuição instalada.

Gazebo →

Crie um ambiente simulado e teste as interfaces do robô antes de passar para uma configuração física.

Foxglove →

Inspecione os sinais registrados do robô e crie visualizações que expõem falhas de tempo e do sistema.

03

Profissional

Empacote e teste o aplicativo

Torne o comportamento repetível em condições de configuração e reinicialização.

Como funciona esta etapa

Empacote o comportamento em torno de um ponto de entrada reproduzível. Os testes de configuração e falha fazem parte da aplicação, e não notas lembradas pelo seu autor.

Trabalhe com um exemplo

Exercício de estudo ilustrativo · escrito por botstest

Prepare um teste de ambiente limpo no qual um par inicia o aplicativo, altera um parâmetro permitido e reproduz uma falha de entrada ausente. Guarde o registro de configuração como evidência de entrega.

  1. Dependências de documentos e um comando de inicialização para a versão escolhida.
  2. Execute testes de decisão antes do teste de integração.
  3. Registre o comportamento de desligamento e recuperação.
Se der errado

Se o projeto funcionar apenas em um terminal já aberto, inspecione o ambiente implícito e as dependências do espaço de trabalho.

Base de referência: Integração de Sistemas. O exemplo e o passo a passo são aplicações editoriais da fonte.

Aprenda nesta ordem

  1. Verificações automatizadas para lógica de decisão
  2. Ordem de inicialização e desligamento controlado
  3. Versões de dependência e propriedade clara
Leia e aplique

Kris Hauser · University of Illinois · Capítulo do curso

Integração de Sistemas

Leia: Concentre-se no comportamento em tempo real, nas opções de comunicação e nas ferramentas de desenvolvimento.

Use conceitos de temporização e comunicação para decidir onde registrar falhas e qual componente possui recuperação.

Aplique: Reproduza a mesma falha após uma reinicialização e empacote os logs com seus testes.

Coloque em prática

  1. Crie testes para observações normais, obsoletas e inválidas.
  2. Reinicie o aplicativo em um ambiente limpo e documente o resultado.
Produza isso

Uma aplicação versionada, testes e início rápido do operador.

Pronto para a próxima etapa quando…

Recursos para esta etapa

ROS 2 →

Siga o caminho oficial de aprendizagem de middleware; use a documentação correspondente à sua distribuição instalada.

mcap · foxglove →

Investigue um formato de registro de dados do robô e verifique a interoperabilidade com suas ferramentas de registro reais.

Rerun →

Visualize observações espaciais e compare-as com resultados de modelos e trajetórias.

Armadilhas comuns

  • Copiar comandos de versões de software incompatíveis.
  • Testando apenas o caminho feliz.

Para onde ir a seguir

Prossiga para a integração ou navegação do sistema ROS após uma reinicialização limpa e um teste de entrada ausente, ambos funcionam.

Explorar outros aprenda caminhos →