Геоскан Пионер — «школьный» квадрокоптер

В статье рассмотрим электронную часть нового квадрокоптера Геоскан Пионер, который предназначен для обучения робототехнике. Мы расскажем о создании коптера, а точнее о том, какой опыт мы получили и какие изменения внесли в проект. В завершении — поделимся планами на будущее.

1. Зачем в Геоскан создают квадрокоптер для обучения

Для решения множества прикладных задач все чаще применяются беспилотные летающие аппараты (БПЛА), в частности, мультироторные системы. Их присутствие можно увидеть во многих сферах, например, в аэрофотосъемке, доставке грузов, видеосъемке с воздуха, мониторинге объектов, а также в гонках (дрон-рэйсинге).
Вместе с тем, в активно развивающейся индустрии беспилотной авиации наблюдается нехватка профессиональных кадров. Технические кадры лучше всего готовить, начиная со школьной скамьи. Только прошедший все этапы: от проектирования до эксплуатации и модернизации – может стать настоящим профессионалом своего дела и дать очередной виток в развитии отрасли, как в технологическом плане, так и в плане вовлечения в индустрию все большего числа смежных направлений и решения все большего количества прикладных задач.
Можно утверждать, что использование квадрокоптера школьниками, студентами и любителями как летающего робота для изучения основ разработки, эксплуатации и модернизации БЛА – является интересной для нас темой. В последствие, это может привести к созданию базы нового образовательного стандарта.

Мы полагаем, что следующие темы являются наиболее интересными для изучения:
Программирование систем управления, создание алгоритмов ориентации и навигации в пространстве, распознавание окружения;
Электроника — подключение датчиков и изучение принципов их работы, изучение устройства летательных систем;
Конструирование рамы и механики, а также изучение электро-механических параметров коптера для оптимизации режимов полета при решении разных задач;
Управление коптером как в режиме пилота, так и в режиме оператора БПЛА. То есть вручную или автоматически.
Таким образом, формируется множество интересных задач, которые можно предоставить решать подрастающему поколению в рамках образовательных кружков, конкурсов и олимпиад.
Опираясь на вышесказанное и уже на имеющийся опыт создания БПЛА в компании Геоскан, мы решили воплотить данные идеи в жизнь, путем создания программно-электронной платформы.
Стоит отметить, что для того, чтобы просто программировать летающего робота нужна система навигации. И если на улице эта проблема решается применением спутниковой навигации, то в помещении эта задача не имеет однозначного решения. Учитывая, что далеко не всегда имеется возможность работы на улице из-за погоды, окружающей местности или безопасности, навигация в помещении становится просто необходима. Какую систему навигации мы выбрали будет рассказано ниже.

2. Первая версия электроники «школьного» коптера

Чтобы создать небольшой коптер, необходимо свести массу и размеры электроники до минимума. Для этого логично применить одноплатное решение, содержащее автопилот (АП) с датчиками, регуляторы моторов, радиосвязь, источники питания и необходимые разъемы. «Одноплатность» упрощает совмещение электроники с рамой и уменьшает количество проводов до минимума.

Бесколлекторные моторы используются в силу ряда преимуществ по сравнению с коллекторными. Такие моторы эффективней и надежней, а большой крутящий момент относительно небольшого веса, позволяет отказаться от применения редуктора на винт. Определенной сложностью является разработка регуляторов скорости бесколлекторных моторов. Но благодаря имеющемуся опыту в области разработки «взрослых» БПЛА, это не стало большой проблемой. Из минусов выбранной винто-моторной группы можно отметить только стоимость моторов и регуляторов, но она оправдываются временем полета, хорошими скоростными характеристиками коптера, возможностью перемещать бОльшую полезную нагрузку, а также меньше придется возиться с покупкой и заменой вышедших из строя моторов.
Таким образом мы подошли к созданию платы-прототипа для маленького коптера. Мы не будем уделять этой плате много внимания, а лишь отметим ее основные недостатки, которых не мало, в первую очередь из-за очень скромных сроков разработки в три недели.
При начальном проектировании хотелось попробовать максимальный функционал коптера, поэтому на плате были размещены магнитометр и модуль спутниковой навигации, которые оказались не работоспособны из-за недостаточно хорошей электромагнитной совместимости с платой. Магнитометр был слишком близко расположен к силовым проводникам и при прохождении тока через проводник, магнитометр выдавал некорректную информацию. Из-за недостаточной площади экрана керамической антенны, GPS приемник находил недостаточное для навигации количество спутников.
Для простоты подключения квадрокоптера к компьютеру был использован Wi-Fi модем. Использовать данный интерфейс для телеметрии и управления проблематично, если предполагается работа в зашумленной среде, например, на выставках или других массовых мероприятиях, где очень много устройств на 2.4 ГГц. В добавок модуль показал нестабильную работу в сети.

С точки зрения эксплуатации, всё также получилось не совсем гладко. Во-первых, фазные провода моторов приходилось паять на плату, так как для них не было предусмотрено разъемов. Трудность заключается в необходимости иметь навыки работы с паяльником и возможности перепутать порядок проводов, что приводит к неверному направлению вращения мотора, а также усложняет сборку-разборку. Во-вторых, не получилось сделать удобных крепежных отверстий на плате, что плохо сказывалось на надежности и практичности крепления платы к раме. В-третьих, интерфейсный разъем в виде стандартных «штырьков» с шагом 2мм не всегда удобно использовать при подключении нескольких устройств.
Помимо прочего, размеры платы оказались больше ожидаемых из-за одностороннего монтажа элементов (за исключением небольшого числа элементов регуляторов на нижней стороне).

Тем не менее коптер получился рабочим. Прошивки автопилота и регуляторов были перенесены с нашего «большого» коптера . Немного настроив коэффициенты контуров управления, мы заставили коптер отлично справляться с его основной задачей — летать. С моторами 1306 3100 kV, винтами 5″ и аккумулятором LiPo 2s 1300 mAh коптер летает 15-16 минут, а с GoPro3 (80 г) — около 10 минут.
Был реализован полет в ультразвуковой (УЗ) системе навигации от Marvelmind. Система состоит из двух типов УЗ-маячков: стационарного и подвижного. При этом, закрепленный на коптере подвижный маячок системы выдает 3 координаты положения на автопилот с достаточно низкой точностью (± 5-10 см) и созданная нами система управления комплексирует эти данные с данными гироскопа и акселерометра, контролирует пространственное положение коптера.

3. Идеи при создании новой версии

При подходе к новой версии платы нам стало очевидно, что необходимо внести ряд доработок. Мы продумали концепцию проекта более детально, так как появилось полное видение областей и способов применения коптера. Главной идеей стало решение оставить на плате только необходимые компоненты и сделать своего рода «материнскую» плату, к которой будут подключаться модули, задающие функциональное назначение коптеру. Примером такого модуля может служить спутниковый приемник с компасом для навигации на улице.
Теперь новая плата содержит главный контроллер АП с датчиками — акселерометром, гироскопом и барометром. Барометр нужен для режима удержания высоты, который значительно упрощает контроль над коптером при ручном управлении. Чтобы хранить логи полетов и параметры автопилота мы используем отдельную микросхему флэш-памяти.
Все электронные компоненты на плате и модулях расширения обеспечиваются питанием тремя преобразователями напряжения: на 5 В (для модулей, светодиодов, PPM/SBUS приемников), 3.3 В (для модулей и микросхем на плате) и еще 3.3 В отдельно для датчиков. Входное напряжение от 6 В до 14 В, что соответствует литий-полимерной батарее с двумя-тремя «банками» (2s-3s).

Связь с ПК осуществляется через радиоканал или USB. Чтобы сократить время разработки, мы использовали готовый радиомодуль фирмы Radiocraft на 868 МГц с мощностью в 25 мВт. Радиомодуль обеспечен чип-антенной на плате, а также разъемом для подключения внешней антенны. Правда, чтобы использовать разъем внешней антенны, придется поработать паяльником. Предполагается, что обычному пользователю будет достаточно чип-антенны. Чтобы подключить ПК к коптеру по радио нужно использовать ответный USB модем, поставляемый в комплекте.

В роли индикаторов различных событий выступают управляемые RGB светодиоды WS2812B. Есть возможность подключить дополнительные светодиоды, кроме тех, которые находятся на плате.

Регуляторы скорости моторов способны выдерживать ток в 20 А и обладают возможностью активного торможения, что положительно сказывается на динамике управления коптером. Напряжение питания лежит в пределах 2s-3s LiPo аккумуляторов. К АП регуляторы подключаются по UART, а не через ШИМ сигнал. Это хорошо сказывается на устойчивости к помехам. Размер регуляторов уменьшен, сравнительно с первой версией, за счет более компактных корпусов электронных компонентов. Вдобавок мы сделали двухсторонний монтаж компонентов, который также позволил уменьшить размер платы.

Теперь на плате появились «человеческие» крепежные отверстия для удобного монтажа к раме.
Полезных разъемов стало больше. Сейчас не нужно паять провода моторов к плате. Модули расширения подключаются посредством двух разъемов сверху платы, при этом нельзя перепутать положение модуля за счет разного количества пинов и конструкции самого разъема. Разъемы TE Micro-MaTch выбраны с учетом защиты от механических повреждений. В отличие от штырьков 2.54 мм, их не так легко повредить при падениях или небрежном обращении. Также можно подключать модули через шлейф-удлинитель для возможности выноса модуля, например, вниз коптера. На эти разъемы выведены следующие интерфейсы: UART, SPI, I2C, несколько GPIO, сигнал для подключения дополнительных управляемых светодиодов и питание 3.3 В и 5 В. Логический уровень интерфейсов по-умолчанию 3.3 В, но при желании может быть изменен на 5 В.

Кнопка программируется пользователем или используется по-умолчанию для запуска скрипта.
Немного о программной составляющей платформы. Прошивка микроконтроллера автопилота STM32F4 написана на C++ и работает под управлением RTOS NuttX. Прошивка закрыта, но пользователь может написать свой код на скриптовом языке Lua.
Вообще мы выбирали из нескольких скриптовых языков: Python, JavaScript (IoT.js) и Lua. Стандартную реализацию Python сложно использовать под МК, из-за слишком большого размера. Мы рассмотрели вариант с MicroPython, но он не устроил из-за возможности прямого доступа к ассемблерным инструкциям. А доступ к ним мы не хотели бы предоставлять рядовому пользователю. У JavaScript избыточная функциональность и, чтобы убрать лишнее, пришлось бы поработать. Lua — очень популярный язык, легко расширяемый с помощью C++, имеет подходящие для нас реализации.
Скрипт может содержать алгоритмы управления или просто последовательность действий, получение и обработку данных с датчиков, управление полезной нагрузкой и т. д. В целом предоставляется широкий функционал взаимодействия с летающим роботом, который может использоваться для исследовательских, конкурсных или любительских задач. Скрипт может быть написан и залит в коптер с помощью специального приложения, но также можно генерировать код с помощью Google Blockly.
Закачать скрипт можно через USB провод или радио канал. Приложение на ПК отображает информацию телеметрии, что позволяет судить о состоянии коптера. И, конечно, имеются элементы управления и настройки робота.
Рама, на данный момент, изготавливается из карбона или стеклотекстолита путем фрезеровки пластин. Она собирается из небольшого количества частей и имеет отсек для батареи. Опционально можно поставить шасси и защиту винтов. Сейчас в разработке рама из пластика, которая будет изготавливаться с помощью литьевой технологии.

4. Расширяем функционал модулями

Как было сказано выше, плата обладает возможностью расширения с помощью подключаемых модулей. Основными являются следующие модули:
Модуль Навигации — приемник для собственной системы позиционирования внутри помещения по ультразвуку.

Модуль GPS — позиционирование на улице по спутникам. Также имеет на борту магнитометр для ориентации по курсу.

Модуль ToF — получает информацию с нескольких ToF датчиков расстояния, направленных в разные стороны, что позволяет детектировать препятствия.

Модуль Груза — оснащен электромагнитным захватом груза и светодиодами для индикации и световых эффектов.

Модуль Marvelmind — переходник для системы позиционирования от Marvelmind.

Модуль OpenMV — переходник для камеры для компьютерного зрения OpenMV.
Модуль Сонар — обеспечивает возможность получения высоты при помощи ультразвукового датчика.
Модуль WiFi — добавляет WiFi интерфейс.
Модуль Bluetooth — добавляет Bluetooth интерфейс.
Возможны, конечно, и многие другие модули, которые мы планируем создавать в будущем.

5. Применение на практике и планы на будущее

Промо видео Геоскан Пионер

Мы осуществили несколько поставок Пионера в различные образовательные учреждения. Они были сделаны на базе первой версии платы, поэтому поставки носили скорее экспериментальный характер. Но тем не менее, коптер вполне подошел как сборочный конструктор и для обучения навыкам пилотирования.

Были проведены соревнования на пилотирование с участием Пионеров в Алферьево во время конференции Аэронет 2016.
Как летающий робот Пионер привлек к себе внимание на фестивале робототехники Робофинисте. Там проходит испытание с полетом по восьмерке, с которым, собственно, коптер успешно справился. Система работала на базе навигации по УЗ.

Была сделана площадка с безопасным пространством в виде каркаса с сеткой, где у всех посетителей фестиваля была возможность поуправлять коптером. При этом система управления не давала вывести коптер за пределы разрешенной зоны.
На сегодняшний день мы работаем над производством первых партий Пионеров, разрабатываем новые модули расширения, проектируем пластиковую раму под литьё и завершаем создание своей системы навигации по ультразвуку. А еще планируется презентация нашего Пионера. О месте и времени проведения можно будет узнать на сайте Геоскан.

 
Источник

квадрокоптер, обучение, программирование, робототехника

Читайте также