Для сборки робота вам понадобятся:
- Шасси — платформа с двумя мотор-колёсами.
- «Мозг» системы — микроконтроллер.
- Источник питания — аккумуляторная батарея.
- Драйвер двигателей — плата, способная управлять мощностью моторов.
- IMU-модуль — сенсор, объединяющий акселерометр и гироскоп.
- «Сердце» системы стабилизации — гироскоп и акселерометр
Обычный гироскоп измеряет угловую скорость вокруг своей оси. Однако он имеет существенный недостаток: со временем в его показаниях накапливается ошибка. Из-за этого интегрирование угловой скорости для получения текущего угла будет давать всё более неверный результат.
Чтобы решить эту проблему, используется комбинация с акселерометром. Акселерометр измеряет проекцию ускорения свободного падения на свои оси. Когда платформа стоит строго горизонтально, акселерометр фиксирует ускорение только по оси Z. Если платформа наклонится, вектор гравитации сместится, и акселерометр сможет точно определить статический угол наклона.
Проблема акселерометра в том, что он очень чувствителен к вибрациям и линейным ускорениям при движении робота. Поэтому для получения точного значения угла наклона применяется фильтр Калмана или комплементарный фильтр. Эти алгоритмы математически объединяют данные обоих датчиков.
От гироскопа берётся высокая скорость реакции и точность на коротких промежутках времени. От акселерометра берётся долгосрочная стабильность и отсутствие дрейфа.
Результатом работы фильтра является чистый, отфильтрованный сигнал angle, который показывает реальный наклон робота в данный момент. Именно этот сигнал подаётся на вход главного управляющего алгоритма.