Зачем в Геоскан создают квадрокоптер для обучения
Для решения множества прикладных задач все чаще применяются беспилотные летающие аппараты (БПЛА), в частности, мультироторные системы. Их присутствие можно увидеть во многих сферах, например, в аэрофотосъемке, доставке грузов, видеосъемке с воздуха, мониторинге объектов, а также в гонках (дрон-рэйсинге).
Вместе с тем, в активно развивающейся индустрии беспилотной авиации наблюдается нехватка профессиональных кадров. Технические кадры лучше всего готовить, начиная со школьной скамьи. Только прошедший все этапы: от проектирования до эксплуатации и модернизации – может стать настоящим профессионалом своего дела и дать очередной виток в развитии отрасли, как в технологическом плане, так и в плане вовлечения в индустрию все большего числа смежных направлений и решения все большего количества прикладных задач.
Можно утверждать, что использование квадрокоптера школьниками, студентами и любителями как летающего робота для изучения основ разработки, эксплуатации и модернизации БЛА – является интересной для нас темой. В последствие, это может привести к созданию базы нового образовательного стандарта.
Мы полагаем, что следующие темы являются наиболее интересными для изучения:
Программирование систем управления, создание алгоритмов ориентации и навигации в пространстве, распознавание окружения;Электроника — подключение датчиков и изучение принципов их работы, изучение устройства летательных систем;Конструирование рамы и механики, а также изучение электро-механических параметров коптера для оптимизации режимов полета при решении разных задач;Управление коптером как в режиме пилота, так и в режиме оператора БПЛА. То есть вручную или автоматически.
Таким образом, формируется множество интересных задач, которые можно предоставить решать подрастающему поколению в рамках образовательных кружков, конкурсов и олимпиад.Опираясь на вышесказанное и уже на имеющийся опыт создания БПЛА в компании Геоскан, мы решили воплотить данные идеи в жизнь, путем создания программно-электронной платформы.
Стоит отметить, что для того, чтобы просто программировать летающего робота нужна система навигации. И если на улице эта проблема решается применением спутниковой навигации, то в помещении эта задача не имеет однозначного решения. Учитывая, что далеко не всегда имеется возможность работы на улице из-за погоды, окружающей местности или безопасности, навигация в помещении становится просто необходима. Какую систему навигации мы выбрали будет рассказано ниже.
Первая версия электроники «школьного» коптера
Чтобы создать небольшой коптер, необходимо свести массу и размеры электроники до минимума. Для этого логично применить одноплатное решение, содержащее автопилот (АП) с датчиками, регуляторы моторов, радиосвязь, источники питания и необходимые разъемы. «Одноплатность» упрощает совмещение электроники с рамой и уменьшает количество проводов до минимума.
Бесколлекторные моторы используются в силу ряда преимуществ по сравнению с коллекторными. Такие моторы эффективней и надежней, а большой крутящий момент относительно небольшого веса, позволяет отказаться от применения редуктора на винт. Определенной сложностью является разработка регуляторов скорости бесколлекторных моторов.
Но благодаря имеющемуся опыту в области разработки «взрослых» БПЛА, это не стало большой проблемой. Из минусов выбранной винто-моторной группы можно отметить только стоимость моторов и регуляторов, но она оправдываются временем полета, хорошими скоростными характеристиками коптера, возможностью перемещать бОльшую полезную нагрузку, а также меньше придется возиться с покупкой и заменой вышедших из строя моторов.
Таким образом мы подошли к созданию платы-прототипа для маленького коптера. Мы не будем уделять этой плате много внимания, а лишь отметим ее основные недостатки, которых не мало, в первую очередь из-за очень скромных сроков разработки в три недели.
При начальном проектировании хотелось попробовать максимальный функционал коптера, поэтому на плате были размещены магнитометр и модуль спутниковой навигации, которые оказались не работоспособны из-за недостаточно хорошей электромагнитной совместимости с платой.
Магнитометр был слишком близко расположен к силовым проводникам и при прохождении тока через проводник, магнитометр выдавал некорректную информацию. Из-за недостаточной площади экрана керамической антенны, GPS приемник находил недостаточное для навигации количество спутников.
Для простоты подключения квадрокоптера к компьютеру был использован Wi-Fi модем. Использовать данный интерфейс для телеметрии и управления проблематично, если предполагается работа в зашумленной среде, например, на выставках или других массовых мероприятиях, где очень много устройств на 2.4 ГГц. В добавок модуль показал нестабильную работу в сети.
С точки зрения эксплуатации, всё также получилось не совсем гладко. Во-первых, фазные провода моторов приходилось паять на плату, так как для них не было предусмотрено разъемов. Трудность заключается в необходимости иметь навыки работы с паяльником и возможности перепутать порядок проводов, что приводит к неверному направлению вращения мотора, а также усложняет сборку-разборку.
Во-вторых, не получилось сделать удобных крепежных отверстий на плате, что плохо сказывалось на надежности и практичности крепления платы к раме. В-третьих, интерфейсный разъем в виде стандартных «штырьков» с шагом 2мм не всегда удобно использовать при подключении нескольких устройств.
Помимо прочего, размеры платы оказались больше ожидаемых из-за одностороннего монтажа элементов (за исключением небольшого числа элементов регуляторов на нижней стороне).
Тем не менее коптер получился рабочим. Прошивки автопилота и регуляторов были перенесены с нашего «большого» коптера . Немного настроив коэффициенты контуров управления, мы заставили коптер отлично справляться с его основной задачей — летать.
Был реализован полет в ультразвуковой (УЗ) системе навигации от Marvelmind. Система состоит из двух типов УЗ-маячков: стационарного и подвижного. При этом, закрепленный на коптере подвижный маячок системы выдает 3 координаты положения на автопилот с достаточно низкой точностью (± 5-10 см) и созданная нами система управления комплексирует эти данные с данными гироскопа и акселерометра, контролирует пространственное положение коптера.
Идеи при создании новой версии
При подходе к новой версии платы нам стало очевидно, что необходимо внести ряд доработок. Мы продумали концепцию проекта более детально, так как появилось полное видение областей и способов применения коптера. Главной идеей стало решение оставить на плате только необходимые компоненты и сделать своего рода «материнскую» плату, к которой будут подключаться модули, задающие функциональное назначение коптеру. Примером такого модуля может служить спутниковый приемник с компасом для навигации на улице.
Теперь новая плата содержит главный контроллер АП с датчиками — акселерометром, гироскопом и барометром. Барометр нужен для режима удержания высоты, который значительно упрощает контроль над коптером при ручном управлении. Чтобы хранить логи полетов и параметры автопилота мы используем отдельную микросхему флэш-памяти.
Все электронные компоненты на плате и модулях расширения обеспечиваются питанием тремя преобразователями напряжения: на 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 , имеет подходящие для нас реализации.
Расширяем функционал модулями
Как было сказано выше, плата обладает возможностью расширения с помощью подключаемых модулей. Основными являются следующие модули:
Модуль Навигации — приемник для собственной системы позиционирования внутри помещения по ультразвуку.
Модуль GPS — позиционирование на улице по спутникам. Также имеет на борту магнитометр для ориентации по курсу.
Модуль ToF — получает информацию с нескольких ToF датчиков расстояния, направленных в разные стороны, что позволяет детектировать препятствия.
Модуль Груза — оснащен электромагнитным захватом груза и светодиодами для индикации и световых эффектов.
Модуль Marvelmind — переходник для системы позиционирования от Marvelmind.
Модуль OpenMV — переходник для камеры для компьютерного зрения OpenMV.Модуль Сонар — обеспечивает возможность получения высоты при помощи ультразвукового датчика.Модуль WiFi — добавляет WiFi интерфейс.Модуль Bluetooth — добавляет Bluetooth интерфейс.Возможны, конечно, и многие другие модули, которые мы планируем создавать в будущем.
Применение на практике и планы на будущее
Промо видео Геоскан Пионер
Мы осуществили несколько поставок Пионера в различные образовательные учреждения. Они были сделаны на базе первой версии платы, поэтому поставки носили скорее экспериментальный характер. Но тем не менее, коптер вполне подошел как сборочный конструктор и для обучения навыкам пилотирования.
Были проведены соревнования на пилотирование с участием Пионеров в Алферьево во время конференции Аэронет 2023.
Как летающий робот Пионер привлек к себе внимание на фестивале робототехники Робофинисте. Там проходит испытание с полетом по восьмерке, с которым, собственно, коптер успешно справился. Система работала на базе навигации по УЗ.
Была сделана площадка с безопасным пространством в виде каркаса с сеткой, где у всех посетителей фестиваля была возможность поуправлять коптером. При этом система управления не давала вывести коптер за пределы разрешенной зоны.
На сегодняшний день мы работаем над производством первых партий Пионеров, разрабатываем новые модули расширения, проектируем пластиковую раму под литьё и завершаем создание своей системы навигации по ультразвуку. А еще планируется презентация нашего Пионера. О месте и времени проведения можно будет узнать на сайте Геоскан.
Мотошкола отарыча – занятие № 4 и 5
Продолжаю обучение и на 4 и 5 занятии отрабатывал скоростное прохождение змейки и восьмерку, но сначало немного о площадке.
Занятие № 4 началось как обычно с повторения пройденного. 15 минут повторения и Павел останавливает для рассказа о новом упражнении “змейка”.
Краткий рассказ о том для чего это нужно и как делать. Основные моменты выполнения техники такие:
1. Выполнение на 2 передаче (“1 слишком медленно, 3 слишком быстро, значит выполняем на… Правильно 2 передаче” :-))
2. Тормозим двигателем.
3. При повороте нагружаем внутреннюю к повороту подножку. Отводим колено, а нога дальняя от подножки прижимается к баку и помогает удержаться на мотоцикле.
4. Чуть не доезжая конуса начинаем поворот и повернут прибавляем газ для стабилизации мотоцикла и его выпрямления.
5. Сбрасываем газ и поворачиваем.
Все это выполняем сидя.
Перед выполнение упражнения Павел на своем примере продемонстрировал правильность выполнения.
Пытаюсь выполнить и снова сталкиваюсь с проблеммой – как “переносить вес на подножку”?.. Координация движений полохая… конусы пропускаю…
Основные замечания при выполнении:
1. Недостаточная амблитуда – нужно широко выезжать. т.е. максимально удлинять траекторию и закладвать повороты максимально круто с наклоном мотоцикла. При этом отклоняться в сторону поворота, а не выполнять контрсвешивание.
2. Смотреть на конусы боковым зрением!
3. Открывать газ чуть раньше чем доезжаем до конуса.
Поотрабатывал и опять был остановлен Павлом. Новое упражнение. Змейка, но стоя.
Основные трудности:
1. сгибаем ноги.
2. смотрим не туда.
3. недостаточная амблитуда.
Поотрабатывал и снова остановка. Змейка на одной ноге.
Техника выполнения:
1. В момент поворота стоим на ноге, которая внутри поворота.
По трудностям в дополнение к предыдущим:
1. На руль не опираемся.
Круг сидя, круг стоя, круг со сменой ног. Так и докатался до конца часа.
Устал, доволный… Кстати змейка стоя и змейка с перестановкой ног как раз и помогли понять, что значит переносить вес тела 🙂
Поехал домой отдыхать, а на следующий день снова на учёбу.
Занятие 5.
Прибыл на занятия намного раньше, чем нужно. В 8:30 уже был у площадки. Пока никого не было воспользовался мгновение и сфотографировал площадку.
На правой стороне отрабатываются медленные элементы. В самом дальнем конце расположены две восьмерки и одна восьмерка видна на фото. Восьмерки обозначены только краской без конусов.
В левой части многочисленные конусы и разметка (на фото видна плохо) обозначают габаритный коридор в виде восьмерки.
Желтые конусы на площадке обозначают змейку на с максимальнйо амплитудой – т.е. конусы нужно объезжать снаружи.
В далеке под березой имеется эстакада для отработки разворота в замкнутом пространстве и видимо прыжков. Там же имеется мини-эндуро трасса.
А вот гараж!!!
Ворота гаража.
В гараже как и положено хранятся мотоциклы и расположено все необходимое для их ремонта. Справа можно видеть скромный инвентарь для поддержания площадки в чистоте.
Утром был на площадке заранее. Павел подъехал на R1 около 8:45. Был без шлема и как мне показалось ехал на моте от ворот, т.к. когда я заезжал на территории подозрительно похожий стоял около шлагбаума.
Начала выгонять моты. Подошел, помог выгнать парочку…
Далее попросился посидеть. Разрешение получил. Посидел… равновесие держать сложно.
Около 8:55 подошел Александр Григорьевич Московка и ученики. Учеников было много – человек 6.
Занятие началось опять с повторения. Повторил все упражнения по одному и был остановлен минут через 15-20 Александром Григорьевичем.
– На чём закончили предыдущее занятие? – спросил тренер.
– На змейке. – ответил ученик.
– Тогда поехали на восьмерку.
Опять краткий инструктаж.
Выполняем восьмерку сначало на холостых. Просто катаемся по восьмерке, начерченной на асфальте. Соблюдать коридор не обязательно.
Далее ездим сидя с одной рукой, а внутренняя рука в повороте поднимается паралельно земле перпендикулярно траектории и смотрим на кончики пальцев. Так и кружим по восьмерке.
Далее встаём и восьмеру крутим стоя.
Все это Александр Григорьевич ч показал на собственном примере и отследил и скорректировал правильность выполнения, после этого пошёл к другим ученикам.
Покрутился, покрутился… скучно… Восьмерку отрабатывал в Мото-образе и это упражнение вызывает желание гонять с наклонами, чем медленее медленного выписывать “мото-па”.
Подходит Александр Григорьевич и предлагает выполнить новый элемент. Т.е. крутить восьмерку на оборотах около 2000 и при этом при необходимости корректировать скорость на ручкой газа, а задним торозом. После объяснения техники последовали объяснения почему это важно, пользоваться задим тормозом. Например на мокром покрытии и мощном мотоцикле если разворачиваться на алом радиусе.
Формально при пользовании задним тормозом дали картбланж “оторваться” :-), ну и начал выписывать кренделя с наклонами почти до подножек, пока не срывало заднее колесов на имеющемся песочке… вообщем немного похулиганил 🙂
Ошибки теже:
1. смотрю не туда!!!
2. забываю перекладывать вес с одой подножки на другую.
Тут подходим Александр Григорьевич с метёлкой и савочком и предлагает “не крутиться юлой”, а дать тормозам остыть и отработать технику. Кручу без тормозов… Поехал катать скоростную змейку… Далее опять покрутил восьмерку…
Заскучал… тут занятие и завершилось…
Вообщем всё по плану…
Единственное что не совсем пока нравится, это то, что как только начинаешь чувствовать элемент и уже улучшать технику, сразу дают новое упраженение. Конечно такой подход связан с ограниченностью часов и добрать практику можно на повторениях в начале каждого занятия, но какая-то досада есть… с другой стороны обучение не надоедает! Помню как в Мото-образе крутил восьмерку… – после 50% практики уже наступала скукак на всех трех элементах площадки… Хотелось что-нибудь новенького. Тут соскучиться не дают.
Теперь в занятиях наступает двух недельный перерыв в связи с авто-ралли в Крылатском.
Также на занятия только в конце апреля, но на вторую половину оставлено самое вкусное!