В материале будет рассмотрен опыт применения инерциальной системы навигации, создания и использования алгоритма для обработки поступающих с нескольких датчиков сигналов, которые входят в ИНС, с целью решить задачу стабилизации высоты многороторного аппарата для полета – квадрокоптера.
В интернете уже есть ряд статей, где описывается такое устройство и как его можно сделать самостоятельно. Для программистов по призванию интересно не только собирать эти игрушки, но и сделать из них что-то полезное. В данном случае в качестве «мозгового центра» был выбран Arduino и интереснейший проект MultiWii. Он полностью открыт, его развитие динамично, однако в нем пока имеются некоторые пробелы. К примеру, стабилизация положения по высоте работает неудовлетворительно. Специалист решил разобраться, можно ли, имея данное оборудование, улучшить данную часть системы.
Вводная информация
Мультиротор – устройство с несколькими (до 8 штук) моторами с пропеллерами. Каждый из них участвует в создании вертикальной регулируемой тяги. В отличие от вертолета, здесь стабилизация полностью электронная. Ей занимается микропроцессор, а помогает ему инерционная система навигации.
Какие задания выполняются в полете?
Во время работы устройства ставятся следующие задачи:
• Определить ориентацию (углы относительно земли по трем осям) и стабилизироваться по ним;
• Определить высоту и выйти на нее;
• Вычислить координаты и полет по заданным условиям;
• Принимать команды с пульта управления и выдавать управляющие сигналы на двигатели.
Устройство системы
В начале работы специалист располагает стандартным набором сенсоров, хорошими трехосевыми гироскопами, среднего качества акселерометры, осевой магнетометр, барометр. Такая комплектация предлагается вместе с процессором Arduino, а можно найти все приборы по отдельности.
Каждый датчик имеет свои функции, достоинства и слабые стороны. Ни один из них по отдельности не может разобраться ни с одной перечисленной выше задачей, поэтому навигационные системы каждый раз строятся из набора и совокупности датчиков. А самое примечательное здесь – это вычислительные алгоритмы, которые дают возможность соединять преимущества каждого из элементов, чтобы компенсировать их возможные недостатки.
Первое задание – стабилизировать ориентацию – достаточно успешно выполняется гироскопами. Они точно измеряют угловую скорость и после интеграции могут выдать значения углов. Однако есть у них и слабая сторона – со временем показания уплывают. Чтобы откорректировать данные, используется акселерометр. Этот прибор всегда в долгосрочной перспективе знает, где находится земля. Однако акселерометр не может ничего определить, если он вращается вокруг оси Z. Для этого применяется магнетометр, всегда определяющий расположение севера.