Как робот на двух колёсах едет и не падает (балансир)?
Видел самобалансирующего робота на двух колёсах, как мини-сегвей. Он стоит вертикально и не заваливается. Как это вообще возможно физически и что им управляет?
2 ответа
Двухколёсный балансир — это перевёрнутый маятник: сам по себе он неустойчив и должен бы упасть, как карандаш на пальце. Удержать его помогает быстрое подруливание колёсами.
Как это работает:
- На роботе стоит датчик наклона — IMU (гироскоп + акселерометр). Он сотни раз в секунду измеряет, на какой угол робот наклонился вперёд или назад.
- Если робот клонится вперёд — контроллер подгазовывает колёсами вперёд, подставляя их под центр тяжести, как ты подставляешь ладонь под падающий карандаш. Клонится назад — колёса едут назад.
- Управляет этим ПИД-регулятор: ошибка = отклонение от вертикали; чем сильнее наклон, тем резче рулёж. Дифференциальная часть гасит раскачку.
Ключ в скорости реакции: цикл «измерил наклон → подкрутил колёса» должен повторяться очень часто (например, 200-500 раз в секунду), иначе робот завалится.
Частые ошибки новичков:
- Берут «дрожащий» сигнал гироскопа без фильтра — робот трясётся. Данные гиро и акселерометра объединяют фильтром (комплементарный или Калмана).
- Слишком медленный цикл управления — не успевает ловить падение.
- Не настроен ПИД — робот либо вяло заваливается, либо бешено раскачивается.
Аналогия на пальцах: попробуй удержать швабру вертикально на ладони. Ты постоянно двигаешь рукой туда, куда она начинает падать. Робот делает то же самое, только «ладонь» — это его колёса, «глаза» — гироскоп, а «мозг» — ПИД-регулятор, который всё это делает сотни раз в секунду. Без датчика наклона он бы просто упал.