Construí um robô autoequilibrado: três malhas de controlo

Motores com escovas, um ESP32 e um MPU-6500 — e três malhas de controlo, cada uma a corrigir o que a anterior não conseguia. A malha de ângulo (PID, 500 vezes por segundo) mantém-no de pé, mas ele afasta-se 27 cm a rolar. A malha de velocidade trá-lo de volta para uma faixa de 30 cm. A malha de posição leva-o de volta ao ponto de partida, a menos de 3 cm — depois anda comandado por Wi-Fi e salta de uma balança de casa de banho. Três malhas, um LQR ou uma rede neuronal — qual é a sua aposta?

O meu telemóvel tem os dois. Fiz um na mesma: nível e bússola DIY

Um nível e uma bússola: o telemóvel tem os dois, por isso, naturalmente, fiz o meu. Uma caixa impressa numa Creality Ender-3 V3 KE, quatro insertos de latão, três placas (uma TTGO T-Display com ESP32, um acelerómetro e giroscópio MPU-6500, um magnetómetro BMM150) e uma célula 18650 carregada por USB-C. A menos de meio grau da horizontal, fica verde e apita uma vez. A lição: um magnetómetro dá por tudo, do íman do buzzer ao cabo de carregamento e a um telemóvel por perto. Então: comprar um ou construir um?

Eu empurro. Ele volta: o meu balanceador de hélice com ESP32

Eu empurro, ele volta. Esta estrutura equilibra-se num só plano com o impulso de uma única hélice: um sensor MPU-6500 mede a inclinação e um ESP32 corre um controlador PID (Kp 8 · Ki 2 · Kd 2,2 neste teste) que comanda o motor através de um DRV8833. O Bluetooth envia a inclinação e o comando do motor para uma página no meu computador, onde posso ajustar os parâmetros do PID. Tentativas anteriores? A gravidade não falhou. E a seguir: dois planos ou rodas?

Testei o sentido de equilíbrio de um robô: MPU-6500

Seis fios, 100 leituras por segundo e três tentativas de calibração — gastei as três. Um MPU-6500 (acelerómetro de 3 eixos + giroscópio de 3 eixos num chip de 3 × 3 mm) comunica por SPI com um ESP32 (LILYGO T-Display), e uma página no navegador transforma as leituras num modelo 3D, num avião de papel e num labirinto com uma bola. O que é que o robô recebe a seguir: rodas ou olhos?