2D-гироподвес на Ардуино
Гироподвес или гиростабилизированный подвес — это устройство стабилизации положения некоторого переносимого объекта относительно положения носителя. Часто гироподвес применяется для стабилизации видео или фотокамеры. Такие подвесы ещё называют стэдикам (steadicam).
Мы соберем свой 2х-осевой стэдикам при помощи Ардуино, акселерометра и гироскопа MPU6050, а также самых простых сервомоторов SG90.
Как работает гироподвес?
Каждый человек и большинство животных имеет вестибулярный аппарат, который нужен нам для поддержания устойчивого положения тела и головы. Собственно, поскольку этот природный прибор находится у нас в голове, то стабилизируется прежде всего голова, а тело уже стремится принять правильное положение в угоду голове.
Вестибулярный аппарат — это акселерометр, данные с которого непрерывно интерпретируются нашим мозгом для дальнейшей работы с телом. Если мы приделаем видеокамеру к своей голове, то получим вполне сносный гироподвес. Можно даже прикрепить камеру к голове какой-нибудь птицы, как это было реализовано в одном известном ролике. Но птица, как и любое другое животное, вряд ли станет все время смотреть в нужную вам сторону.
Так что же происходит у нас в голове? Предположим, что наше наше находится в строго вертикальном положении и шевелить мы можем только мышцами шеи. Вестибулярный аппарат говорит мозгу, насколько сильно наклонена голова относительно горизонта. Согласно этой оценке, мы напрягаем соответствующие мышцы шеи и наклоняем голову в нужную сторону, пока не достигнем правильного положения.
Точно также работает любой электронный стэдикам (бывают и механические). Датчик положения, который находится в той же части устройства, что и камера, фиксирует текущий угол наклона относительно горизонта. Микроконтроллер управляет моторами гироподвеса, поворачивая камеру (и датчик вместе с ней) в заданное положение. Эти действия происходят непрерывно много раз в секунду. В итоге, оператор может как угодно передвигать и поворачивать стэдикам в пространстве, а камера при этом всегда будет смотреть строго вдоль горизонта.
Примечание №1. А что, глаза разве не участвуют в оценке положения головы? Участвуют. Но если их закрыть, то вы легко справитесь с задачей стабилизации. Исключение составляют сложные задачи, когда одного чувства бывает недостаточно. Например, стойка на одной ноге с закрытыми глазами. Попробуйте. Хотя, и этому можно научиться — мозг очень гибкая штука.
Примечание №2. Почему мы стабилизируемся относительно горизонта? Ведь мы его не видим! Формально, мы стабилизируем голову не вдоль горизонта, а вдоль вектора гравитации. Почитайте как работает акселерометр. Понятие горизонта здесь применяется для удобства восприятия.
Примечание №3. Механический стэдикам?? Для понимания его устройства, можно провести очень простой эксперимент. Попробуйте привязать к обычной гире веревку. Камеру закрепить непосредственно на гире. Второй конец зажмите в руку и поднимите всё этот дело на нужную высоту. Как бы не наклоняли кулак с зажатой веревкой, и как бы не дрожала ваша рука, камера будет снимать достаточно стабильно. Передвигать гирю следует медленно, дабы не превратить всю конструкцию в маятник. Реальный механический стэдикам устроен немного иначе, но физический смысл явления останется тот же.
Всё для этого эксперимента можно приобрести в нашем интернет-магазине: