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

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.

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



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

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

Комментарии (16)


  1. ru_vlad
    27.06.2017 08:04

    Спасибо большое за обзор.
    Если не секрет сколько будет стоить минимальный и максимальный комплект.
    Также интересно где данное можно приобрести.


    1. tuuzdu
      28.06.2017 10:33

      Цена базового комплекта с коптеров, АКБ, зарядкой и аппаратурой около 40000р.
      В статье приводится старая версия рамы, но текущие поставки уже на раме с шасси и защитой.
      Стоимость расширенной версии зависит от количества модулей и системы позиционирования.
      Можно здесь сделать запрос.


      1. t2n
        01.07.2017 00:13

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


        1. tuuzdu
          01.07.2017 00:21

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


  1. kostus1974
    27.06.2017 12:25

    разъёмы не слишком тяжёлые для такого коптера? понимаю, что для простоты соединений, но если это всё-таки для обучения, то это слишком просто.
    от модулей тоже впечатление тяжеловесности возникает. считали, на сколько утяжелили разъёмами, толщиной и габаритами плат?


    1. tuuzdu
      28.06.2017 10:43

      Коптер с защитой весит около 300г. Поэтому на весе разъемов и толщины плат можно сэкономить 1-3% массы. И потерять при этом положительные эксплуатационные качества (благодаря разъемам, можно легко собирать-разбирать коптер; плата в 1.5мм механически прочная, если уменьшать толщину до 1мм, то возможны значительные повреждения при падениях).


  1. R4ABI
    27.06.2017 13:26

    1) UART стабильнее ШИМа? А точно дело не в кривой трассировке цепей? Просто uart обычно не претендует на помехозащищенный интерфейс.

    2) Микросхемка в QFN корпусе у контроллера — это МК или какой-то готовый драйвер? А может что-то действительно годное?


    1. tuuzdu
      28.06.2017 10:48

      1) В UART можно фильтровать некорректные пакеты проверяя CRC. Также можно иметь полноценный обратный канал с регулями. И на большом коптере, где регуляторы и АП на значительном расстоянии, прокидывается 485 интерфейс.

      2) Эта микросхема может быть появится в след версиях. Сейчас stm32f051 и внешние драйверы.


  1. newkamikaze
    27.06.2017 15:39

    Заманчиво, амбициозно. Другой вопрос, как программно добиться поддержки такого количества датчиков. У меня самосборный квадрик с GPS на прошивке iNav. Она является форком другой прошивки и получается, что всякие удобства наследуются от «родителя», а команда iNav в основном занимается навигационными режимами, использующими GPS, барометр, компас и т.д. Я всё это к тому, что даже при такой достаточно узкой специализации работы у них хватает. Ваша делянка ощутимо больше.

    По поводу разъёмов для моторов. КМК, в нынешнем виде от них мало толке, так как на моторы тоже переходник паять придётся. Логичнее использовать что-то вроде таких, чтобы можно было без пайки на моторах обойтись.


    1. SvSh123
      28.06.2017 09:04

      Только не такие, а вот какие.
      Но разъемы выглядят аккуратней, с ними меньше вероятность КЗ, и полярность не перепутаешь.


      1. newkamikaze
        28.06.2017 10:10

        У БК-моторов о полярности можно не париться, если в настройках сделать возможность реверса.


    1. tuuzdu
      28.06.2017 10:53

      RTOS Nuttx, на базе которой написан АП, имеет широкие возможности расширения и проблем с этим никаких. Главное, чтобы было кому писать код)

      Моторы с напаянными разъемами идут в комплекте. Такие клеммники ненадежны, имеют большое сопротивление, большие габариты (примерно с мотор) и собственно их применение показано на второй картинке по ссылке)


  1. x893
    28.06.2017 21:22

    А не пробовали модули с интегрированным процессором — например RAK811 или подобные?


    1. tuuzdu
      01.07.2017 00:23

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


  1. Sterpa
    05.07.2017 14:49

    Все таки не совсем понятно про саму прошивку. Почему такая секретность, посему закрыта (для школьного проекта)? Вы сами разрабатывали и настраивали ПИД-регуляторы, или в основе все же лежит какой-то открытый/закрытый проект? Сестра, имя!


    1. tuuzdu
      05.07.2017 15:04

      Закрыта потому что эта прошивка во многом похожа на те, которые используются в наших больших беспилотниках. Прошивка и система управления написаны полностью в Геоскан. Никаких сторонних проектов.