Робот-балансир на ESP32: три контури керування

Десять днів, один робот, три контури керування. Як наш робот-балансир на ESP32 і колекторних моторах навчився стояти, повертатися після поштовху, тримати своє місце та їздити через Wi-Fi — з числами з його журналів і прошивкою, завдяки якій усе запрацювало.

Я зібрав робота-балансира: три контури керування

Колекторні мотори, ESP32 і MPU-6500 — і три контури керування, кожен виправляє те, чого не вмів попередній. Контур кута (PID, 500 разів на секунду) тримає його вертикально, але робот відкочується на 27 см. Контур швидкості повертає його в смугу 30 см. Контур положення повертає його додому з точністю до 3 см — а потім робот їздить по Wi-Fi і стрибає з підлогових ваг. Три контури, один LQR чи нейромережа — на що ви поставите?

Я штовхаю. Він повертається: мій балансир на пропелері з ESP32

Я штовхаю — він повертається. Ця рама балансує в одній площині на тязі одного пропелера: датчик MPU-6500 вимірює нахил, а на ESP32 працює PID-регулятор (у цьому досліді Kp 8 · Ki 2 · Kd 2,2), який через DRV8833 керує мотором. Bluetooth передає нахил і команду мотору на мій комп'ютер, на сторінку, де я можу міняти налаштування PID. Перші спроби? Гравітація не підвела. Що далі: дві площини чи колеса?