Differential Drive Simulator

Differential drive é um método para controlar um robot com apenas duas rodas. O termo “differencial” significa que a velocidade de rotação do robot é determinada pela diferença de velocidade aplicada a cada uma das rodas, por exemplo manter a roda esquerda parada e aplicar velocidade a roda direita fará com que o robot vire para a esquerda, aplicar a mesma velocidade a ambas as rodas fará com que o robot ande em frente.

Existem várias técnicas para optimizar este tipo de movimento tal como PID Control,  um dos principais desafios que encontrei é o facto de existirem muitas variaveis que podem afectar o desempenho como por exemplo a carga das baterias o estado do piso, etc….

Por isso, e de forma a testar o código para controlar o meu robot, decidi criar um simulador em Processing. O simulador permite desenhar um circuito e utilizar o teclado para fazer o robot percorrer esse mesmo circuito. A tecla UP faz o robot andar em frente, a tecla LEFT faz virar a esquerda, a tecla RIGHT faz virar a direita e a tecla DOWN faz o robot parar.

Para já o robot tem que ser controlado manualmente, o proximo passo é simular as leituras do sensor de modo a implementar a função de piloto automático e fazer o robot navegar sozinho. Em baixo coloco todo o código desenvolvido até ao momento e um ficheiro executável para quem não tem o processing e quiser experimentar o simulador.

Download do código e ficheiro executável

Anúncios

Links/eBooks (Electrónica)

Ligações Uteis

Página Oficial Arduino
Forum LusoRobotica
Loja Online In Motion
Let´s Make Robots
Society of Robots

Graphical Resistor Calculator
Curso de electrónica – Condensadores (Br)
The Basic Electric Circuit
LM7805 Voltage Regulator Tutorial

eBooks

Programming NoteBook
Introdução Eletronica
Como Soldar

Bionic Class       Parte 1   Parte 2   Parte 3   Parte 4
Spooky Class     Parte 1   Parte 2   Parte 3   Parte 4