СИСТЕМА АВТОПИЛОТИРОВАНИЯ ТИПОВОГО МУЛЬТИКОПТЕРА

Resources and Technology 11 (2): 111-118, 2014 ISSN 2307-0048
http://rt.petrsu.ru
УДК 630.3
DOI: 10.15393/j2.art.2014.2901 Статья
Система автопилотирования типового мультикоптера
Антон Ю. Когочев*
Петрозаводский государственный университет, пр. Ленина 33, 185910, Петрозаводск, Россия;
E-Mails: antkg@yandex.ru (А.Ю.К.).
* Автор, с которым следует вести переписку; E-Mail: antkg@yandex.ru (А.Ю.К.); Tel.: +7(905)2995195.
Получена 20 ноября 2014: /Принята: 29 ноября 2014 / Опубликована: 20 декабря 2014
Аннотация: В настоящее время широкое распространение получили беспилотные летательные аппараты, одним из видов которых является мультикоптер. Как правило, управление таким аппаратом осуществляется удалённо, что, несомненно, таит в себе определённые проблемы, связанные с отказами связи, ошибками оператора, задержками и неточностями в управлении. Для решения этих проблем может быть применена система автопилотирования, дополнительно размещаемая на борту мультикоптера, в функции которой может входить как резервное управление аппаратом, так и осуществление полёта по заданной траектории. Исследование посвящено разработке автопилота, являющегося для типового мультикоптера прозрачным с точки зрения интерфейса управления и представляющего собой отдельный обособленный модуль. В статье приводится описание структуры системы автоматического пилотирования с точки зрения аппаратной части, а также общий алгоритм её работы. Приведены результаты замеров высот, осуществлённых в процессе экспериментальных полётов, проводившихся с целью решения задачи стабилизации мульткоптера на определённой высоте. Предлагается детальный разбор возникающих ошибок и способы их устранения.
Ключевые слова: мульткоптер; система автопилотирования; микроконтроллерная плата; беспилотный летательный аппарат; стабилизация по высоте.
Article
DOI: 10.15393/j2.art.2014.2901
Common multirotor autopilot system
Anton Kogochev *
Petrozavodsk State University, Lenin av. 33, 185910 Petrozavodsk, Russia; E-Mails: antkg@yandex.ru (A.K.)
* Author to whom correspondence should be addressed; E-Mail: antkg@yandex.ru (A.K.); Tel.: +7(905)2995195.
Received: 20 November 2014 /Accepted: 29 November 2014 /Published: 20 December 2014
Abstract: Currently unmanned aerial vehicles, which include multirotor are widespread. Typically, the control of such apparatus is carried remotely, which undoubtedly poses certain problems, taking into account possible communication failures, operator errors, delays and inaccuracies in management. Autopilot system, additionally implemented on board of multirotor applied to solve these problems. The functions of such a system may be either redundant control and fly along user-specified points. The study is devoted to the development of the autopilot system for multirotor, which transparent from the point of view of the management interface for a typical multirotor, and is formed as a separate module. The article describes the structure of the automatic piloting in terms of hardware, as well as the general algorithm of its work. The results of measurements, which is dedicated to solving the problem of stabilization multirotor at a certain height, during the experimental flights are presented. Detailed review of arising errors and their solutions is proposed.
Keywords: multirotor; autopilot; microcontroller board; unmanned aerial vehicle; altitude stabilization.
1. Введение
В современных системах часто применяются различные средства автоматизации. Не являются исключением мультикоптеры. Как известно мультикоптер - это летательный аппарат с несколькими несущими винтами, вращающимися в противоположные стороны. Количество винтов может быть различно, но, как правило, кратно двум (четыре, шесть, восемь). Принцип управления летательных аппаратов такого типа достаточно прост - для задания необходимого вектора движения изменяется частота вращения (число оборотов) одного или нескольких двигателей одновременно. Таким образом, повышается или понижается подъёмная сила, фактически действующая на конструкцию аппарата в точках крепления двигателей. В качестве устройства управления используются разнообразные микроконтроллерные платы, способные преобразовывать радиосигнал от пользователя в управляющее воздействие на двигатели аппарата.
В функции микроконтроллерной платы чаще всего входит обязанность по стабилизации положения мультикоптера в пространстве по углам крена, тангажа и рыскания. Положение мультикопртера в пространстве определяется инерциальной системой, включающей в себя трёх осевой акселерометр, гироскоп и магнитометр. Располагая необходимой информацией, управляющий микроконтроллер формирует отдельный сигнал для каждого электронного контроллера каждого двигателя мультикоптера, ведущий к изменению частоты вращения соответствующего несущего винта. Таким образом, осуществляется коррекция положения БПЛА в пространстве.
Кроме того, микроконтроллерная плата в обязательном порядке реализует приём радио сигнала от пользователя, дистанционно управляющего аппаратом. Представленные на рынке решения пользовательского сегмента, в основном реализуют радиосвязь на базе технологии Wi-Fi на близких расстояниях или многоканальную связь в диапазоне 2,4 ГГц с помощью специализированных протоколов. В функции имеющихся решений [1, 2] также входят некоторые элементы систем автопилотирования - полёт по маршруту на основе координат от системы GPS (реже ГЛОНАСС), безопасное возвращение на точку старта. Такие системы обладают более высокой стоимостью и комплектуются своими собственными контроллерами стабилизации и управления мультикоптером.
2. Материалы и методы
Разрабатываемая на кафедре информационно-измерительных систем и физической электроники система автоматического пилотирования для типового мултьтикоптера включает в себя:
- управляющую плату на основе микроконтроллера фирмы Atmel AtMega2560;
- набор датчиков расстояния (ультразвуковые и инфракрасные дальномеры);
- канал радиосвязи;
- GPS приёмник.
http://rt.petrsu.ru
Общая структура представлена на рисунке 1.
Плата управления на основе AtMega 2560
MultiWii 328p
Рисунок 1. Структура системы автоматического пилотирования
В качестве платформы используется мультикоптер с четырьмя несущими винтами типоразмера 450 мм. Такой аппарат позволяет осуществлять экспериментальные полёты не только на улице, но и внутри закрытых помещений. БПЛА оснащён контроллером стабилизации MultiWii 328p [3], программная часть которого является открытой и поддерживается сообществом. Отличительная особенность данного контроллера - невысокая цена при достаточной функциональности. Интерфейс управления бесколлекторными двигателями БПЛА в таком контроллере реализован следующим образом: на вход электронных контроллеров скорости подаётся прямоугольный сигнал длительностью от 1 до 2 мс с периодом следования от 10 до 20 мс. Аналогичным образом организован радиоканал связи с пользователем, который может подавать желаемое задающее воздействие по углам крена, тангажа, рыскания, а также уровень «газа».
Таким образом, для того чтобы мультикоптер мог в автоматическом режиме осуществлять какое-либо движение, на плате управления необходимо сымитировать стандартные действия, производимые оператором мультикоптера.
Поскольку за стабилизацию положения мультикоптера отвечает соответствующий контроллер, достаточно с помощью управляющего модуля подать на вход платы стабилизации соответствующий запрос на изменение положения и удерживать его в течение определённого промежутка времени.
Задача по определению текущей команды возлагается на систему определения текущего состояния БПЛА. В её состав могут входить датчики расстояния, модуль определения координат по стандартам GPS и/или ГЛОНАСС, а также программный алгоритм, реализующий полёт по некоторому маршруту, привязанному к карте местности. В
замкнутых помещениях возможно реализовать известные алгоритмы выхода из лабиринта
[4]. Кроме того, на основе показаний инерциальной системы, внутреннего таймера и датчиков расстояния возможно реализовать построение карты местности и траектории полёта по аналогии с существующими решениями в области наземных подвижных платформ.
Разрабатываемая система автоматического пилотирования реализует следующие функции:
- автоматический взлёт и поддержание заданной высоты;
- плавная посадка;
- движение в определённом направлении в соответствии с командами управляющего микроконтроллера.
Основной подход заключается в том, чтобы стабилизировавшись на определённой высоте, осуществлять попеременное измерение расстояния до окружающих объектов с последующим движением в безопасном направлении, исключая возможность столкновения с препятствиями. Программное обеспечение управляющего микроконтроллера реализовано по принципу конечного автомата. Системный таймер платы управления раз в 40 мс даёт команду на измерение расстояния до поверхности под БПЛА, после чего осуществляется расчёт прибавки управления в канале газа. Процедура расчёта основана на применении известного принципа пропорционально-интегрально-дифференциального (ПИД) регулятора
[5]. После каждого замера текущей высоты относительно поверхности (пола, земли) происходит коррекция скорости вращения пропеллеров. Затем осуществляется замер расстояния по направлению движения, и в течение определённого небольшого промежутка времени в один из каналов регулирования углов подаётся сигнал, провоцирующий плату стабилизации на изменение скорости вращения конкретных несущих винтов. Осуществив некоторое линейное перемещение в пространстве, мультикоптер снова занимает горизонтальное положение.
3. Результаты
На момент публикации программное обеспечение платы управления реализует следующие функции и основные команды, принимаемые платой стабилизации MultiWii 328p:
- запуск и останов двигателей БПЛА;
- подача команды в каналы управления положением мультикоптера;
- процедуры взлёта, удержания высоты и посадки;
- процедура движения вперёд.
Определённую специфику во временные характеристики системы автопилотирования вносят используемые датчики. В силу способа измерения [6, 7] присутствуют некоторые ограничения на скорость исполнения алгоритма. Кроме того, на используемой плате стабилизации шаг дискретизации в каналах управления газом и углами крена, тангажа и рыскания довольно большой, а количество возможных градаций составляет всего 125
вариантов [8]. Очевидно, в таком случае задача стабилизации мультикоптера по высоте не может быть решена с высокой точностью. Существующие системы стабилизации имеют на борту высокоточные альтиметры, но и они дают приближённое значение высоты в силу ряда факторов (набегающий поток воздуха от вращающихся винтов, «дребезг» сигнала).
По результатам проведённых экспериментов можно говорить о том, что в случае использования встроенного в плату стабилизации альтиметра колебания мультикоптера по высоте при неизменном уровне газа составляют в среднем около 20-30 см с периодическими выбросами, т.е. резким изменением положения мультикоптера. С использованием инфракрасного дальномера при высоте зависания до 40 см амплитуда колебаний БПЛА составляла от 10 до 15 см, а при высоте выше 50 см разброс итоговой координаты уменьшается. Предполагается, что это связано с определённым падением производительности несущих винтов вблизи поверхности, а также неточностью управления.
4. Обсуждение и заключение
В качестве решения представленных ранее проблем предлагается использование более функциональных контроллеров стабилизации, имеющих более широкий диапазон регулировки каналов управления. Кроме того, на рынке представлены решения, обладающие большими вычислительными мощностями [9, 10], которые с одной стороны позволят реализовать затратные с точки зрения ресурсов операции по расчёту управляющих поправок за необходимое время, а с другой смогут совмещать функции стабилизации, принятия решения о дальнейших действиях, передачи телеметрии на удалённую вычислительную машину. Такой подход заметно улучшает массогабаритные характеристики БПЛА, экономит ресурс батареи питания.
Развитие микроэлектронной базы позволяет удешевить разработку разного рода интеллектуальных систем и БПЛА в данном контексте не являются исключением. Необходимость в разнообразных средствах автоматизации полёта будет только увеличиваться, поэтому разработки в области систем автопилотирования длительное время будут оставаться актуальными. Отличительной особенностью разрабатываемой системы автоматического пилотирования является относительная простота её интеграции в контур управления мультикоптером, что позволяет использовать её в качестве резервной в случаях отказа связи, или же основной в контексте рутинных операций при выполнении полёта по заданию.
Благодарности
Выражаю благодарность директору студенческого бизнес инкубатора Петрозаводского государственного университета А. П. Коновалову, ведущему программисту сектора пространственных и графических данных Петрозаводского государственного университета С. А. Завьялову, доценту кафедры ИИСиФЭ Петрозаводского государственного
университета С. Ю. Курскову и многим другим за активную помощь в реализации исследования.
Работа выполнена в рамках минипроекта «Разработка системы управления автономного летающего робота на базе стандартной мультикоптерной платформы» программы стратегического развития ПетрГУ на 2012-2016 гг.
Литература
1. IOSD MARK II. [Электронный ресурс]. URL: http://www.dji.com/product/iosd-mark-ii (дата обращения: 5.11.2014).
2. FY-41AP-M&GPS Autopilot For Multi-rotors. [Электронный ресурс]. URL: http://www.feiyu-tech.com/product-en.php?id=37 (дата обращения: 5.11.2014).
3. Newbie's guide to setting up and using the MultiWii Board. [Электронный ресурс]. URL: http://www.hobbyking.com/hobbyking/store/uploads/189478565X846863X3.pdf?aff=321907 (дата обращения: 5.11.2014).
4. Мозговой М. В. Занимательное программирование: Самоучитель. - СПб: Питер, 2005. -208 с.: ил.
5. Изерман Р. Цифровые системы управления: Пер. с англ. - М.: Мир, 1984. - 541 с.: ил.
6. Ultra Sonic range measurement module. [Электронный ресурс]. URL: http://www.seeedstudio.com/wiki/index.php?title=Ultra_Sonic_range_measurement_module (дата обращения: 7.11.2014).
7. GP2Y0A21YK0F datasheet. [Электронный ресурс]. URL: http://www.sharpsma.com/webfm_send/1489 (дата обращения: 7.11.2014).
8. PWM_Generation. [Электронный ресурс]. URL: https://code.google.com/p/multiwii/wiki/PWM_Generation (дата обращения: 7.11.2014).
9. The Crius All In One Pro Flight Controller. [Электронный ресурс]. URL: http://www.hobbyking.com/hobbyking/store/uploads/998673411X846863X42.pdf (дата обращения: 7.11.2014).
10. Flymaple-A flight controller with 10 DOF IMU. [Электронный ресурс]. URL: http://ww.dfrobot.com/wiki/index.php?title=Flymaple_V1.1%28SKU:DFR0188%29 (дата обращения: 10.11.2014).
References
1. IOSD MARK II. 2014. http://www.dji.com/product/iosd-mark-ii [Cited 5.11.2014].
2. FY-41AP-M&GPS Autopilot For Multi-rotors. 2014. http://www.feiyu-tech.com/product-en.php?id=37 [Cited 5.11.2014].
3. Newbie's guide to setting up and using the MultiWii Board. http://www.hobbyking.com/hobbyking/store/uploads/189478565X846863X3.pdf?aff=321907 [Cited 5.11.2014].
4. Mozgovoy, M.V. 2005. Entertaining programming: Know-how book. Piter, St. Petersburg, 208 pp.
5. Izerman, R. 1984. Digital control systems. Mir, Moscow, 541 pp.
6. Ultra Sonic range measurement module. 2014. http://www.seeedstudio.com/wiki/index.php?title=Ultra_Sonic_range_measurement_module [Cited 7.11.2014].
7. GP2Y0A21YK0F datasheet. 2006. http://www.sharpsma.com/webfm_send/1489. [Cited 7.11.2014].
8. PWM_Generation. 2012. https://code.google.com/p/multiwii/wiki/PWM_Generation. [Cited 7.11.2014].
9. The Crius All In One Pro Flight Controller. 2014. http://www.hobbyking.com/hobbyking/store/uploads/998673411X846863X42.pdf [Cited 7.11.2014]
10. Flymaple-A flight controller with 10 DOF IMU. http://www.dfrobot.com/wiki/index.php?title=Flymaple_V1.1%28SKU:DFR0188%29. [Cited 10.11.2014].
© 2014 KoroneB A.M.