ROB103 · Programação de robôs com Python
Sobre o curso
Escreva controladores em Python que fazem robôs simulados se comportarem: ler sensores, acionar motores, estruturar comportamentos como máquinas de estado, aplicar controle proporcional e registrar dados para análise, tudo no Webots.
Para quem é
Quem já conhece as partes de um robô e quer programar seu comportamento em Python.
Pré-requisitos
ROB102; Python básico (variáveis, laços, funções) ajuda, mas o essencial é revisado.
O que você será capaz de fazer
- Estruturar um controlador Python no Webots com inicialização, laço de controle temporizado e encerramento limpo.
- Implementar comportamentos reativos e uma máquina de estados finitos para um robô móvel.
- Aplicar um controlador proporcional para seguir uma parede ou linha com suavidade.
- Registrar dados do robô em CSV e analisá-los com gráficos para ajustar o comportamento.
Aulas
- Aula 1 · Controladores em Python e o laço de controle
- Aula 2 · Comportamentos e máquinas de estado
- Aula 3 · Controle com realimentação, registro e ajuste
- Aula 4 · Laboratório e atividade
Laboratório: Robô de entregas que segue a parede com máquina de estados
Você programa um e-puck no Webots para sair da base, encontrar uma parede, segui-la a uma distância definida com um controlador proporcional e parar numa zona de entrega marcada. O controlador é organizado como máquina de estados, registra cada passo em CSV e é ajustado pela análise do erro em gráfico.
Ferramentas gratuitas: Webots (gratuito) com a API de controladores em Python; VS Code (gratuito) opcional; Google Colab ou matplotlib local para gráficos
Atividade avaliada
Envie o código do controlador, os logs em CSV e um gráfico comparando os três valores de Kp. Inclua um diagrama de estados com todos os estados e condições de transição. Explique como escolheu o Kp e o que aconteceu quando ele estava baixo e alto demais. Descreva uma falha que observou (por exemplo, um canto ou uma abertura na parede) e como alterou a máquina de estados para tratá-la.
| Critério | Peso | Como é um trabalho excelente |
|---|---|---|
| Comportamento funcionando | 30% | O robô sai da base, segue a parede e para na zona de entrega de forma confiável em várias execuções. |
| Desenho da máquina de estados | 25% | Estados e transições estão bem definidos, documentados num diagrama e implementados com clareza. |
| Ajuste e análise do controle | 25% | Os gráficos comparam os ganhos, o Kp escolhido é justificado e os efeitos de ganho baixo e alto são explicados. |
| Qualidade do código | 20% | O código usa funções, constantes nomeadas, comentários e registro consistente. |
Peça de portfólio
Um controlador de robô em Python bem estruturado e reutilizável, com diagrama de estados e análise de ajuste.
Próximo passo
Continue com ROB104 · Noções de cinemática e movimento · 6 horas · R$ 60,00
Conteúdo do curso
ROB103 · Programação de robôs com Python (6 h)
-
Aula 1 · Controladores em Python e o laço de controle
-
Aula 2 · Comportamentos e máquinas de estado
-
Aula 3 · Controle com realimentação, registro e ajuste
-
Aula 4 · Laboratório e atividade
-
ROB103 Avaliação · Programação de robôs com Python
