De onde veio e para onde vai o ComportaBot
A inspiração para este projeto veio do livro "Robot Programming" de Joseph L. Jones. Um livro que comprei anos atrás (baseado em alguma recomendação), ficou na minha estante tomando pó e finalmente foi lido este ano. Uma resenha do livro pode ser vista em meu blog principal.
Resumindo, a ideia do livro é comandar um robô através de uma série de comportamentos simples e independentes. Cada comportamento recebe a situação atual dos sensores e, conforme a sua lógica interna, decide o que gostaria que fosse feito com os atuadores. Um ou mais arbitradores decidem qual dos comportamentos irá efetivamente controlar os atuadores.
Por exemplo, poderíamos ter um robô com os seguintes comportamentos:
- Fuga: gira o robô se estiver bloqueado
- Mariposa: gira o robô para ficar virado para onde tem mais luminosidade
- Cruzeiro: o robô segue reto na direção atual
Um arbitrador simples seguiria a prioridade da lista acima. O resultado é um robô que se dirige a uma fonte de luz tentando contornar obstáculos.
O objetivo do meu projeto não é fazer um robô com um comportamento específico, mas sim implementar algo parecido com o exemplo do livro: um módulo de controle "genérico" para investigar os comportamentos unitariamente (ou seja, o arbitrador se limita a escolher um único comportamento). A (tosca) figura abaixo mostra o projeto do livro:
A ideia inicial é manter os seguintes sensores e atuadores:
- Resistores sensíveis a luz (LDR) para detectar e localizar (grosseiramente) luz
- Sensores infravermelho (IR) para detectar obstáculos
- Detecção de colisão através da monitoração da corrente no motor
- Driver para dois motores DC
Não defini ainda se mantenho o buzzer e alguns dos LEDs, um display LCD ou OLED pode ser uma alternativa interessante.
No lugar de LEDs, botão e potenciômetro para interface com operador, o meu projeto aproveitará a conectividade WiFi do microcontrolador para permitir configurar e monitorar o robô usando um navegador WEB.
Aliás, aqui é um bom ponto para uma primeira menção ao microcontrolador que será usado: o Franzininho WiFi, baseado no ESP32S2. Eu fiz um vídeo sobre ele no meu canal.
Comments
Post a Comment