Полетный контроллер на Ардуино? На STM32F104! Руководство по сборке. | Пикабу

Макетные платы с IMU

Для ряда применений небольшого ARM на борту недостаточно (даже если это М4). Чуть выше уже упоминалась плата Gumstix на OMAP3530 (Cortex-A8) в связке с NavStik. Было бы странно ели бы Gumstix сам не сделал что-то подобное самостоятельно.

Плата расширения Gumstix AeroCore. Другая популярная «макетка» BeagleBone c SOC от TI. Под неё тоже есть подходящая платка:

На фотографии BeagleBone IMU Cape

И, наконец, Intel со своим Edison. Под него платы расширения пока нет, но кто-то сомневается, что будет?

Следует заметить, что перечисленные платформы с трудом проходят по критерию «открытости», вся надежда была на I.MX6, ввиду полноты документации, но его родной SabreLight не подходит по форм фактору, а остальные реализации не имеют должной популярности (сугубо моё мнение). Так что ждем обещанного I.MX6 cо встроенным Cortex-M4 и новой подходящей макеткой.

К отряду макетных плат отнесу так же различные MiniPC на базе Android. Привлекательные, прежде всего, своей ценой. На примере Mk808 за 40$ имеем:

  1. RK3066 2 x Cortex-A9 1.6GHz;
  2. 1Гб ОЗУ;
  3. 8Гб Flash;
  4. WiFi;
  5. SD разъем;
  6. UART на плате;

Есть и более современные устройства на RK3288, но вопросс наличия порта Linux требует дополнительного изучения.

Подобный miniPC прикрученный через UART к любому описанному здесь автопилоту расширяет его возможности вплоть до VSLAM ( SLAM на основе технического зрения ).

Становится возможным вместо описанных здесь «микро ОС» для МК использовать полноценные ОС с надстройками в виде ROS или даже Simulink.

Наконец добрались до Pixhawk. Многие видели красивые ролики с квадрокоптерами играющими с мячиком для настольного тенниса, выполняющими акробатические трюки, стаей дружно что-то стоящие. Основной поставщик этого Контента — ETH Zurich (Swiss Federal Institute of Technology Zurich). Pixhawk это их разработка

. Благодаря академичности проект имеет красивую архитектуру, как в аппаратной части, так и программной. С аппаратной и начнем. Благодаря открытости приобрести клон можно на Alliexpress, что я и сделал:

Полетный контроллер на Ардуино? На STM32F104! Руководство по сборке. | Пикабу

Комплектность:

  1. сам автопилот;
  2. GPS модуль с антенной, батарейкой и магнитометром;
  3. кнопка со встроенным светодиодом;
  4. DC/DC преобразователь с датчиком тока;
  5. переходник USB->UART/I2C;
  6. разветвитель I2C.

Итого: 185$ (6500р… эх, было время).


Первый вопрос который возникает: насколько китайский клон «китайский». Что же, вскроем и посмотрим.

Аппаратная часть

Основной блок устройства представляет собой небольшую коробочку со множеством разъемов.

Материал корпуса — полупрозрачный темный поликарбонат.

Корпус состоит из двух половин. Половинки корпуса скрепляются при помощи четырех саморезов ввинчивающихся в пенечки на верхней половинке корпуса. Для упрощения сборочно/разборочных операций саморезы были сразу заменены на кусок черной изоленты видимый на первой фотографии.

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

Основные компоненты смонтированны снизу платы.

Сверху располагаются интерфейсные разъемы, разъем microSD и несколько индикаторных светодиодов.
К качеству монтажа претензий нет — все ровно, флюс отмыт (кроме батарейки, она, очевидно, паялась вручную после печки). Кстати, у конкурентов батарейки нет (значит нет и часов реального времени, точнее нет пока не пойман GPS).
Пластиковые разъемы имеют соответствующие отверстия в верхней половинке корпуса. Возле каждого разъема есть подпись. Ответные разъемы входят с некоторым усилием. Для отключения категорически нельзя тянуть за провод (оторвется). Действовать следует так:
На столе операция не вызывает затруднений, а в поле в -15С можно применить хак:
Полетный контроллер на Ардуино? На STM32F104! Руководство по сборке. | Пикабу
Имеет смысл сразу запастись запасными кабелями на случай неудачи.

GPS модуль идущий в комплекте совмещает в себе приемник СНС с батарейкой и антенной и магнитометр.

Необходимость выносить магнитометр вместе с GPS антенной возникает так как его желательно располагать подальше от силовых проводников и магнитных материалов. Для примера на DJI это сделано так:

Все входы/выходы выведенные на разъемы имеют защиту от статики, ограничительные резисторы. По цепям питания установлены проходные конденсаторы и защитные диоды.

Для наглядности вот фотография с разметкой части деталей обеспечивающих защиту.

В итоге: к китайскому производству претензий нет, плату можно осторожно покрыть лаком и в полет! А если дополнить металлическим корпусом с выведенными разъемами то устройство будет смотреться и на фоне гораздо более дорогих коммерческих автопилотов.

А теперь вспомним конкурентов из начала статьи у которых ноги МК напрямую подключены к разъемам. Самые крупные детали на плате это два МК. Большой STM32F427 (168МГц, 256КБ ОЗУ, 2МБ FLASH) и поменьше STM32F103 выполняющий функции failsafe контроллера (управление аппаратом при отказе основного алгоритма автопилота). Т.е.

Мы видим ту же архитектуру что и в Paparazzi 2008года, но на современной элементной базе. Здесь можно отметить что в современных SOC есть тенденция встраивать небольшие МК (ядра) для решения вспомогательных задач (а также задач жесткого реального времени), но здесь поступили проще — поставили отдельный МК. Установленные датчики/выведенные интерфейсы подробно расписывать не буду, все есть на странице проекта.

Выбор полетного контроллера


Так как мне нужно транслировать видео и телеметрию через интернет, то сразу приходит на ум поставить на дрон микрокомпьютер с 4G модемом и камерой, и сделать из этого комплекта web-трансляцию. Нашлись вот такие решения:

. Это обычные одноплатники с внешним USB 4G модемом и камерой. Для кодирования и трансляции видео используется

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

Полетный контроллер — это мозг дрона. Он следит за состоянием датчиков положения (гироскоп, акселерометр, компас), GPS-координатами, положением ручек на пульте управления и, исходя из этих данных, управляет моторами, чтобы висеть в одной точке или куда-то лететь.

Полетный контроллер нужно будет как-то связать с бортовым компьютером, чтобы можно было загрузить полетное задание или указать произвольную точку куда лететь и когда включать камеру. В продаже можно найти много разных контроллеров сильно отличающихся друг от друга по цене и функционалу.

С Ardupilot я игрался еще на 8-битных атмегах, в которых не было USB-bootloader’а, а прошивались они на программаторе. С тех пор с ним не сталкивался и был приятно удивлен, когда узнал, что сейчас он может работать на 64-битных компьютерах с Linux, у него огромное сообщество пользователей как хобби, так и профи, длинный список поддерживаемых “из коробки” датчиков и расписанные планы на 2020-2020 годы. За это время он успел перерасти в проект DroneCode, а потом и отсоединиться от него.

На первый взгляд в нем как раз реализованы все необходимые функции: автоматический взлет и посадка, загрузка полетных заданий, есть desktop и мобильные приложения под все основные семейства ОС. Программы управления (GCS — Ground Control Station) общаются с бортовым контроллером короткими сообщениями по открытому протоколу MAVLink через комплект радиомодемов (дрон шлет телеметрию, GCS шлет команды управления). Подозреваю, что эти сообщения получится пустить через интернет.

Взглянем на список поддерживаемых контроллеров и что-нибудь подберем. Вариантов там полтора десятка от мала до велика и с разными характеристиками.

Из всего того многообразия контроллеров мне понравилось несколько вариантов:

Полетный контроллерErle PXFMiniEmlid EdgeNavio 2Erle Brain 3PixHawk 2 Cube
Доп компьютерRaspberry Pi Zero WнетRaspberry Pi 3нетRaspberry Pi 3
Вес комплекта, г849798145150
Процессоры, общее кол-во12213
ОС, одновременно работающих11112
IMU датчики, комплектов12213
Датчик воздушного давления12111
Резервирование питаниянетнет
GPS, Глонассвнешний модуль
с доп магнитометром
внешний модуль
с доп магнитометром
встроенный приемник, внешняя антеннавнешний модуль
с доп магнитометром
внешний модуль
ВидеовходCSI на Raspberry HDMICSI на RaspberryCSICSI на Raspberry
WiFiестьесть
Long Range 2км
52 г
естьестьесть
Стоимость комплекта, $212700215341331

Самый легкий комплект (84 г) получается из микрокомпьютера

(9 г), контроллера

(15 г), родного внешнего GNSS модуля (46 г) и дополнительного

(14 г).

Полетный контроллер на Ардуино? На STM32F104! Руководство по сборке. | Пикабу

Рабочий процессор в этом комплекте один — на Raspberry Pi. На нем висит управление ШИМ регуляторов моторов, считывание показаний датчиков, ОС Linux со всеми потрохами и декодирование видео с камеры. Так как в Pi Zero не предусмотрены USB порты, то в этом варианте приходится использовать внешний концентратор. IMU датчики и вход питания без резервирования.

Следующий комплект (97 г) от гонконгской компании с русскими фамилиями в команде разработчиков — контроллер Emlid Edge (59 г) с GNSS модулем (38 г). GNSS модуль работает по протоколу UAVCAN и дополнительно оснащен магнитометром и датчиком воздушного давления. За ШИМ здесь отвечает отдельный процессор ARM Cortex-M3, ОС Linux крутится на основном ARM Cortex-A53 quad-core.

В контроллере имеется HDMI видеовход, что позволяет подключить к нему напрямую любую камеру с таким выходом, например GoPro 4 или 5. Относительно высокая стоимость объясняется дальнобойными wifi-приемопередатчиками в комплекте (до 2 км с трансляцией HD-видео).

Следующий вариант (98 г) состоит из знаменитого микрокомпьютера Raspberry Pi 3 (45 г) с контроллером-шилдом Navio 2 (23 г) от той же Emlid и внешней GNSS-антенны (30 г). На контроллере стоит отдельный процессор Cortex-M3 для управления ШИМ на 14 каналах и расшифровки входящих SBUS и PPM сигналов от приемника. Он, в свою очередь, управляется через драйвер в ядре ОС Linux, которая крутится на Raspberry.

Контроллер оснащен парой раздельных IMU датчиков (акселерометр, гироскоп, магнитометр) MPU9250 и LSM9DS1, одним датчиком воздушного давления и GNSS-модулем U-blox NEO-M8N, который видит GPS, Глонасс и BeiDou с внешней антенной через разъем MCX.

Полетный контроллер на ардуино? на stm32f104! руководство по сборке.

Все началось с того, что я написала одному китайскому преподавателю истории (он попросил не раскрывать его имя), и попросила поделиться информацией о конкретном цине. Тогда я ещё не собиралась его делать, мне просто было интересно.

В ответ это дивный человек прислал мне не просто ответ на вопрос, а полную фотограмметрическую модель циня, отснятую в музее, где он работает.

И я подумала, почему бы и нет? Как вы догадываетесь, не самая умная мысль.

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

Смотрите про коптеры:  Квадрокоптер с камерой: управление с телефона

Но это пост не для нытья, а о том, как сделать цинь.

Для начала выбираем древесину. Традиционно для верхней деки используется павлония или ель. Для нижней деки — катальпа, клен, орех или тик.

Впрочем, правило тут одно и то же для всех струнных инструментов: для верхней деки используется мягкая вязкая древесина с выраженными годичными кольцами. Она должна пропускать звуки, идущие от струн, и глушить все остальные. Так как звук распространяется вдоль волокон древесины в 4 или 5 раз быстрее, чем поперек, направление роста должно быть параллельно струнам.

Для нижней деки используется твердая и плотная древесина с короткими волокнами. Она должна максимально отражать звук.

Чем больше разница в плотности между древесиной верхней и нижней деки, тем более четким и долгим будет звучание.

В остальном выбор древесины — дело вкуса и цены.

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

Если вы захотите попробовать изготовить себе что-то такое, советую использовать ель и клен.

Это сравнительно простые в обработке виды древесины, которые легко найти. К тому же кленовая древесина достаточно прочна, чтобы её можно было использовать для мостов (порожков) и колков.

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

Для остальных пород в этом нет необходимости. Важно лишь, чтобы материал сушился в теплом вентилируемом помещении не менее пяти лет, чтобы усадка древесины не повредила готовому инструменту.

Для мостов, колков и декоративных элементов использовался палисандр. Эти детали почти не влияют на звук инструмента, но соприкасаются со струнами, поэтому были выбраны прочные породы дерева, устойчивые к истиранию.

Дальше стандартная ошибка новичка. Традиционная длина циня — 121,5 см или 36,5 цунь, ширина в плечах (самой широкой части) — 18,5 см, ширина хвоста (узкого окончания) — 13 см.

Функциональная длина струн — 112 см.

Но это традиционная. Люди заметно покрупнели за последнее время, поэтому увеличился и размер инструмента. Сейчас их делают до 27 см в ширину, при той же функциональной длине струн. Пальцы у среднего музыканта, а особенно европейца — толще.

Верхняя дека циня выпуклая в профиль толщины и состоит из отрезка и вогнутой дуги в длину. Примерно от первого лада до 4го подъем и вогнутая дуга от 4го лада до 13го. Самая вогнутая часть отстает от прямой примерно на 2 мм на уровне 7-8 лада. Не очень понятно выразилась, но это часть потянет на отдельный пост, честно. Если станет интересно, распишу.

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

Хвойные породы очень мягкие, и могут не выдержать натяжения струн. Потому в хвост и у порожка добавляется слой плотной древесины которая распределит нагрузку.

После того как поверхность вырезана, и выполнены все требуемые проверки, стамеской выбирается полость. Финальная толщина стенок должна быть примерно 4 мм по краям и 5 мм у центра инструмента. Но после шлифовки желательно, чтобы толщина была чуть больше, так как часть, возможно, придется убрать при коррекции карты толщин.

Немного о коррекции толщин. Спорно, так что читайте на свой страх и риск. Дека устанавливается над колонками, так, чтобы звук шел в полость деки. На поверхность деки был высыпан цветной крахмал. После включения звука дека начала резонировать и большая часть крахмала осыпалась, но меньшая часть образовала на поверхности линии.

Места, где эти линии создают бугры или волны, должны быть скорректированы шлифовкой, пока рисунок не будет ровным.

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

Идея основана на фигурах хлади, о них можно почитать практически где угодно. Её обычно применяют для гитар и реже скрипок, но я решила, что тут тоже можно.

На верхней деке для удобства музыканта добавлены отметки ладов. Обычно они инкрустируются жемчугом, нефритом или металлом. В данном случае было выбрано серебро.

Размер центрального лада — 10 мм, трех с каждого края 6 мм, остальных — 8 мм.

Немного теории:

Частота звука (нота), которую издает струна, рассчитывается по следующему правилу:

f=k*F/l, где l — длина струны, F — сила её натяжения, а k — коэффициент, зависящий от диаметра струны и плотности материала.

Очевидно, что если открытая струна настроена на частоту 440 Гц (ля первой октавы), то если разделить её пополам и сыграть только на половине струны, то будет частота 880 Гц (т.е. ля второй октавы).

Таким образом, для получения необходимых гармоник нужно разделить струны на 2, 3, 4, 5, 6 и 8 частей.

Цинь имеет тринадцать ладов, которые рассчитываются следующим образом:

Измеряется расстояние между мостами.

Далее оно делится на 8, 6 и 5 частей.

Лады расположены на каждой отметке, кроме 2/8 и 6/8.

Нижняя дека очень проста в изготовлении.

Она плоская, с двумя резонансными отверстиями напротив звукопоглотителей верхней деки. В зависимости от вида древесины имеет толщину от 6 мм до 1,6 см.

В случае, если планируется добавлять резьбу по нижней деке, толщина должна быть увеличена.

Дальше вырезаются ножки, декоративные элементы, мосты и прочее.

Часть элементов проще вырезать прямыми и позже согнуть.

Далее для того, чтобы согнуть, но не сломать дерево, необходимо увеличить его мягкость и эластичность. Для этого древесина варится в пароварке. Примерное время варки — 5-7 минут на каждый сантиметр толщины. Для более мягких пород время можно уменьшить, но не сильно.

При этом согнуть древесину можно не сильнее, чем по дуге окружности с радиусом, равным 1,5 * толщину древесины.

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

Все детали склеиваются. После сушки шлифуются торцы и места соединений.

Инструмент грунтуется и подвергается финальной шлифовке и полировке.

Вот и все.

Далее добавляется декоративная резьба и покрытие лаком. Традиционно в качестве финального покрытия инструмента использовался лак на основе сока сумаха лаконосного, который имеет густой черно-красный оттенок.

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

Все это занимает примерно 3-4 месяца по выходным.

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

Эволюция систем управления беспилотных летательных аппаратов: от появления до наших дней

Аннотация: в данной статье приведена ТРИЗ-эволюция систем управления беспилотными летательными аппаратами, начиная с первых и заканчивая современными, с их описанием, техническими противоречиями и возможным дальнейшим развитием.

Ключевые слова: система управления, беспилотный летательный аппарат, БПЛА. 

Annotation: In this article we present TRIZ-evolution of control systems of unmanned aerial vehicles, that is starting with the original and ending with the modern, with their description, technical contradictions and possible further development. 

Keywords: control system, unmanned aerial vehicle, UAV. 

В настоящее время беспилотные летательные аппараты (БПЛА) достаточно сильно развиты и имеют широкий круг применений. За век своего существования БПЛА как увеличились в своих размера до десятков метров, так и уменьшились до нескольких миллиметров; их диапазон скорости, грузоподъёмности тоже  существенно расширился.

Однако системы управления БПЛА неизменно развивались и продолжают развиваться. Рассмотрим эволюцию систем управления БПЛА, начиная от систем управления первых беспилотных «воздушных торпед» до систем управления современных беспилотников. Для современных БПЛА ограничимся мини и микро классами аппаратов (вес до 30 кг).

Как всегда бывает, первыми БПЛА разрабатывали военные, и только в XXI веке началось активное развитие БПЛА гражданского назначения. 

1.      Исторически первый БПЛА. 

Исторически первым БПЛА считается «Жук» Кеттеринга (см. рис. 1). Это один из первых успешных проектов беспилотного летательного средства. По заказу армии США в 1917 году изобретатель Чарльз Кеттеринг разработал свою экспериментальную беспилотную «воздушную торпеду», которая стала предшественником крылатых ракет. Целью было создать дешёвый и простой беспилотный самолёт-снаряд для армейского авиационного корпуса.

Полетный контроллер на Ардуино? На STM32F104! Руководство по сборке. | Пикабу

Рисунок 1 – Жук Кеттеринга. 

Аппарат получился достаточно компактный, в отличие от «крылатой бомбы» Сперри, разрабатываемой и испытываемой в тоже время. «Жук» имел цилиндрический корпус из дерева, к которому крепилась бипланная V-образная коробка. 

Беспилотное средство было оснащено дешёвым четырёхцилиндровым двигателем и инерциальной автоматической системой управления. После старта, питающийся электричеством от двигателя, гироскоп обеспечивал стабилизацию «Жука» по направлению [1]. Гироскоп был соединён с вакуум-пневматическим автопилотом (рис. 2), который осуществлял управление рулём направления. Блок-схема системы управления «Жука» представлена на рисунке 3.

Полетный контроллер на Ардуино? На STM32F104! Руководство по сборке. | Пикабу

Рисунок 2 – Вакуум-пневматический автопилот (пример)

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

Перед стартом на беспилотном аппарате задавали значение высоты и максимальное количество оборотов пропеллера, что соответствовало пройденному расстоянию; раскручивали гироскоп. Запуск происходил с рельсовой катапульты, «Жук» выходил на заданную высоту и летел по прямой в сторону цели. Специальное устройство отсчитывало обороты пропеллера и по достижении нужного расстояния (количества оборотов пропеллера сравнялось с заданным), высвобождался пружинный механизм, который отключал двигатель и выбивал болты, держащие крылья. Корпус аппарата падал вниз и достигал цели. 

Полетный контроллер на Ардуино? На STM32F104! Руководство по сборке. | Пикабу

Рисунок 3 – Блок-схема системы управления  

«Жук» Кеттеринга предназначался для обстрела городов, крупных промышленных центров и мест сосредоточения войск противника на дистанции до 120 км. Он успешно прошёл испытания, в отличие от «воздушной торпеды» Сперри, и был прият на вооружение. Система показала себя лучше, успешней и дешевле предыдущих, но Первая мировая война закончилась, и заказ так и не был выполнен [1]. Всего было изготовлено 45 машин.  

У «Жука» Кеттеринга были реализованы простейшие функции автопилота: управление рулём высоты и рулём направления, отсчитывание пройдённого расстояния, отключение двигателя и сброс крыльев. Неудачи в испытаниях были связаны с проблемами удержания аппарата на курсе. Аппарат мог отклониться от курса как при запуске с рельсовой катапульты, так и во время полёта. Кроме того, «воздушная торпеда» под действием ветра могла завалиться на крыло и упасть. Примитивный автопилот хоть и пытался придерживаться курса, но с сильными порывами ветра или ошибкой при запуске справиться не мог.  

Смотрите про коптеры:  Постройка DIY квадрокоптера. Часть 1 теория

Представим алгоритм управления «Жука» Кеттеринга:

1) Перед стартом задавались максимальная высота и число оборов пропеллера.

2) Происходил запуск с рельсовой катапульты.

3) Аппарат выходил на заданную высоту (контроль высоты осуществлялся с помощью барометрического альтиметра).

4) Автопилот поддерживал неизменный курс благодаря воздействию гироскопа (полёт представлял собой движение по прямой).

5) При достижении заданного числа оборотов (нужного расстояния), происходило отключение двигателя и сброс крыльев. Корпус аппарата падал вертикально вниз в цель.  

Аппарат имел малую дальность и мог двигаться только по прямой из пункта «А» в пункт «Б». Маршрут с большим количеством точек был невыполнимой задачей, как и  возвращение аппарата на место старта.

Выявим технические противоречия (ТП), имеющиеся в описываемой системе, для единообразия в формулировках противоречий все рассматриваемы системы будем называть БПЛА:

ТП1. При повышении степени стабилизации БПЛА по крену, путём введения стабилизирующих элементов на крыльях, недопустимо повышается вес аппарата.

ТП2. При повышении степени стабилизации БПЛА по крену, путём введения стабилизирующих элементов на крыльях, недопустимо повышается сложность конструкции.

ТП3. При повышении степени стабилизации по курсу недопустимо уменьшается расстояние до цели.

ТП4. При повышении сложности маршрута недопустимо повышается сложность конструкции.

Противоречие ТП4 было разрешено использованием приёмов вынесения, непрерывности полезного действия, «посредника», путём замены инерциального автопилота на систему радиоуправления. Этап ТРИЗ-эволюции представлен на рисунке 4.

Полетный контроллер на Ардуино? На STM32F104! Руководство по сборке. | Пикабу

Рисунок 4 – Первый этап эволюции. 

2.       Новая веха: появление радиоуправляемых летательных аппаратов. 

В 1930-х годах армия США получила предложения поставлять радиоуправляемые беспилотные самолёты для различных нужд. Среди компаний, сделавших предложение, была Radioplane Company. Основана она Дени Реджинальдом, бывшим пилотом британской королевской авиации, который эмигрировал в США и стал актёром, а позже основал магазин и компанию по производству радио моделей самолётов [2].  

Radioplane Company предложила армии США линейку радиоуправляемых моделей самолётов, среди которых присутствовала модель Radioplane OQ-2 (рис. 5). Это первый дистанционно-пилотируемый летательный аппарат (ДПЛА), поступивший в массовое производство. В общем было произведено 15000 моделей. Эксплуатация проводилась вплоть до 1948 года [2].  

Radioplane OQ-2 представлял собой самолёт-мишень для обучения зенитных расчётов. Длина – 2,65 м. Размах – 3,73 м. Взлётный вес – 47 кг. Максимальная скорость – 137 км/ч. Максимальное время полёта – 1 час.

Полетный контроллер на Ардуино? На STM32F104! Руководство по сборке. | Пикабу

Рисунок 5 – Внешний вид Radioplane OQ-2 

Запуск происходил с катапульты, а управлялась беспилотная радио модель оператором с земли, который мог имитировать различный ситуации (например, заход истребителя для атаки). Если аппарат оставался цел после полёта, посадка происходила с помощью выбрасываемого парашюта и неубираемого шасси (было не у всех моделей), которое смягчало удар о землю. Блок-схема системы управления представления на рисунке 6.

Полетный контроллер на Ардуино? На STM32F104! Руководство по сборке. | Пикабу

Рисунок 6 – Блок-схема радиоуправления  

Радиоуправление позволило беспилотникам следовать по сложным маршрутам и выполнять сложные манёвры в воздухе, превосходя в этом «Жука» Кеттеринга и «Крылатую торпеду» Сперри. Аппараты получили возможность возвращаться на стартовую позицию, что увеличило количество их использования. Малогабаритная конструкция Radioplane OQ-2 и простота позволили развивать ему большие скорости и покрывать большее расстояние. Однако появилась проблема с малым потолком использования в 2438 м.

Аппаратура того времени позволяла эффективно использовать Radioplane OQ-2 только в поле видимости оператора. Именно так оператор с земли мог производить управление беспилотником. Если аппарат вылетал из радиуса видимости, то его можно было контролировать только радаром, что не обеспечивало эффективного наблюдения и снижало точность позиционирования.

При рассмотрении Radioplane OQ-2 можно выявить следующие противоречия:

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

ТП6. При увеличении дальности, путём увеличения пунктов управления по маршруту движения радиоуправляемого аппарата, недопустимо увеличивается количество персонала.

ТП7. При увеличении дальности, путём увеличения объёма топливного бака, недопустимо увеличивается вес.

Второй этап эволюции показан на рисунке 7.

Противоречие ТП7 было разрешено использованием приёмов вынесения, непрерывности полезного действия, «посредника».

Полетный контроллер на Ардуино? На STM32F104! Руководство по сборке. | Пикабу

Рисунок 7 – Второй этап эволюции  

3. Разработки второй мировой войны.

Фау-1 – самолёт-снаряд, прообраз современных крылатый ракет, состоял на вооружении армии Германии в середине Второй мировой войны (рис. 8). Эта ракета создана в рамках проекта «Оружие возмездия». Проект беспилотного аппарата разработан немецкими конструкторами Робертом Луссером и Фритцем Госслау. Разработка производилась в период 1942-1944 гг [3].

Фау-1 была построена по самолётной схеме, в задней части корпуса над рулём курса крепился реактивный двигатель. В процессе разработки проекта появилась необходимость ввести стабилизаторы и гироскоп для стабилизации аппарата во время полёта.

На земле перед запуском беспилотному аппарату задавали значения высоты и курса, а так же дальность полёта. Наведение выполнялось по магнитному компасу. После пуска аппарата (производился с катапульты, либо с самолёта-носителя – модифицированного бомбардировщика Heinkel He 111 H-22) он летел с помощью автопилота по заданному курсу и на заранее определённой высоте. Стабилизация по курсу и тангажу осуществлялась на базе показаний 3-степенного гироскопа: по тангажу суммировались с показаниями барометрического датчика высоты; по курсу – со значениями угловых скоростей от двух 2-степенных гироскопов, используемых для уменьшения колебаний снаряда. Управление по крену отсутствовало, так как Фау-1 была достаточно устойчива вокруг продольной оси [3]. 

Полетный контроллер на Ардуино? На STM32F104! Руководство по сборке. | Пикабу

Рисунок 8 – Внешний вид Фау-1  

Автопилот был пневматическим устройством, работающим на сжатом воздухе. Золотники пневматических машинок рулей курса и высоты приводились в действие воздушным давлением, в зависимости от показаний гироскопов. Сами гироскопы раскручивались также сжатым воздухом. Расстояние полёта задавалось на специальный механический счётчик, а прикреплённый на нос снаряда анемометр постепенно сводил значение к нулю. По достижении нулевого значения происходило разблокирование ударных взрывателей и отключение двигателя. Примерна блок-схема показана на рисунке 9.

Длина – 7.75 м. Размах крыльев – 5,3 (5,7) м. Максимальная скорость – 656 км/ч (по мере расходования топлива скорость доходила до 800 км/ч). Дальность доходила до 280 км.

Фау-1 могла летать только по прямой (как «Жук» Кеттеринга), однако покрывала большее расстояние и развивала гораздо большую скорость. 

Полетный контроллер на Ардуино? На STM32F104! Руководство по сборке. | Пикабу

Рисунок 9 – Блок-схема системы управления. 

После рассмотрения Фау-1 были выделены следующие технические противоречия:

ТП8. При упрощении процесса старта, путём отказа от катапульты, недопустимо увеличивается сложность конструкции.

ТП9. При увеличении сложности маршрута недопустимо увеличивается сложность оборудования.

ТП10. При увеличении сложности маршрута недопустимо увеличивается вес аппарата.

На основе вышеописанных противоречий выделен второй этап ТРИЗ-эволюции беспилотных летательных аппаратов (рис. 10).

Противоречия ТП8 и ТП9 были разрешены с помощью приёмов вынесения, непрерывности полезного действия, «посредника», путём замены самолётной схемы на вертолётную. 

Полетный контроллер на Ардуино? На STM32F104! Руководство по сборке. | Пикабу

Рисунок 10 – Третий этап эволюции.

4. Противолодочный вертолёт.

Проект американского беспилотного летательного аппарата, а если точнее бдеспилотного вертолёта. Gyrodyne QH-50 DASH – первый в мире беспилотный вертолёт принятый на вооружение (рис. 11). Первый его полёт состоялся в 1959 году, и вплоть до 1969, когда ВМС США отказались от проекта, было произведено 700 аппаратов различных модификация. Изначально проектировались как штатное противолодочное вооружение ракетных крейсеров [4]. 

Полетный контроллер на Ардуино? На STM32F104! Руководство по сборке. | Пикабу

Рисунок 11 – Внешний вид Gyrodyne QH-50 DASH 

Вертолёт был в длину 3,9 м, в высоту 3 м.. Вес неснаряжённого и снаряжённого соответственно 537 кг. и 991кг. Максимальный взлётный вес 1046 кг. Максимальная скорость 148 км/ч. и дальность 132 км. Практический потолок 4939 м. На борту нёс 33,6 галлонов топлива [4].

В отличие от предыдущих систем, аппарату не требовалась взлётная полоса или оборудование (например, катапульта), а требовалась небольшая ровная поверхность.

Беспилотный вертолёт разрабатывался для старта с палубы корабля. Перед запуском к нему подвешивали торпеды.

Контроль управления вёлся с пульта оператора (блок-схема системы управления представлена на рис. 12). На пульт также приходили данные о состоянии аппарата, сигналы оружейной системы. В дальнейшем было предложено ввести два пульта управления. По требованию, один пульт должен был находиться на палубе, а другой в командном пункте.

Так как торпеды весили много, пришлось отказаться от телеаппаратуры. Поэтому запускали сразу два вертолёта: один с аппаратом обнаружения и целеуказания; второй с вооружением.

Проект Gyrodyne QH-50 DASH был отменён из-за несовершенства системы управления и конструктивных дефектов, почти половина аппаратов разбились. Во время полёта у беспилотного вертолёта могло произойти самопроизвольное отключение аппаратуры управления. Также сказалось начало войны во Вьетнаме. Но использование беспилотного вертолёта вплоть до 2006 года как учебное пособие, объект экспериментов и т.д. 

Полетный контроллер на Ардуино? На STM32F104! Руководство по сборке. | Пикабу

Рисунок 12 – Блок-схема системы управления. 

Выделим противоречия беспилотного вертолёта Gyrodyne QH-50 DASH:

ТП11. При уменьшении габаритов беспилотного аппарата недопустимо уменьшается показатель полезной нагрузки.

ТП12. При уменьшении габаритов беспилотного аппарата недопустимо уменьшается дальность полёта.

Противоречия ТП10 и ТП11 были разрешены с помощью приёмов вынесения, объединения, универсальности, замены механической схемы, путём создания доступных контроллеров полёта для авиамоделистов.

По этим противоречиям составим этап ТРИЗ-эволюции (рис. 13).

Полетный контроллер на Ардуино? На STM32F104! Руководство по сборке. | Пикабу

Рисунок 13 – Четвёртый этап эволюции. 

5. «Беспилотники» в массы. Полётные контроллеры для моделирования.

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

Полётный контроллер – это основная плата управления, обеспечивающая функционирование беспилотного летательного аппарата.

Одним из первых популярных полётных контроллеров XXI века был MultiWii (рис. 14). Это открытый проект полётного контроллера на основе Arduino (аппаратной вычислительной платформе, основными компонентами которой являются простая плата ввода/вывода и среда разработки на языке Processing/Wirin (Си подобный)). Используется как элемент системы управления самодельных беспилотных аппаратов (в частности для мультикоптеров). Название MultiWii исторически сложилось потому, что в первых версиях были задействованы гироскопы из контроллера к игровой консоли Nintendo Wii. 

Полетный контроллер на Ардуино? На STM32F104! Руководство по сборке. | Пикабу  

Рисунок 14 – Внешний вид платы MultiWii

В данный момент платформа поддерживает большое количество сенсоров. Изначально нужно было докупать гироскопы из контроллера Wii Motion Plus и акселерометр из контроллера Wii Nunchuk, однако сейчас этого делать не нужно.

Смотрите про коптеры:  Ремонт радиоуправляемых моделей

Так как основой проекта служит Arduino, то подключаемые модули (GPS, радио передатчик и т.д.) совместимо с проектом полётного контроллера ArduPilot (подробнее о нём поговорим ниже). По своей сути это плата с контактами, а не готовая система управления, к которой радиолюбитель может присоединять различные модули (в соответствии с нужными целями). Есть возможность настроить управление по радио пульту (с помощью приемника/передатчика радиосвязи) либо простые функции автопилота, такие как движение по точкам (необходим модуль GPS) и удержание курса (магнитометр). Естественно всё это возможно только при правильной настройке контроллера.

Изначально на плате был 8-битный микроконтроллер ATMega328 (тактовая частота до 20MHz, FLASH-память 32кб, SRAM-память 2кб), либо ATMega2560 (тактовая частота 16MHz, FLASH-память 256кб, SRAM-память 8кб). Но, т. к. проект является открытым, появились любительские версии с 32-битным STM32. Так же присутствуют встроенные датчики MPU6050 (3-осевой гироскоп и 3-осевой акселерометр), BMP085 (барометр) и HMC5883L (электронный магнитный компас). Информация представлена в общем виде и может отличаться для различных версий плат.

На рисунке 15 показана блок-схема системы управления.

Предполагаемый алгоритм управления:

1) Необходимо подключить все необходимые для задачи пользователя модули, предварительно записав программу в микроконтроллер (официальную или самодельную).

2) Далее следует подключить полётный контроллер к питанию и включить.

3) В зависимости от конструкции беспилотного аппарата, следует произвести запуск.

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

Полетный контроллер на Ардуино? На STM32F104! Руководство по сборке. | Пикабу

Рисунок 15 – Блок-схема системы управления. 

В системе выявлены следующие противоречия:

ТП13. При повышении гибкости настройки управления контроллера недопустимо повышается сложность кода.

ТП14. При повышении гибкости настройки управления контроллера недопустимо повышается количество часов, требуемых на это.

Противоречия ТП13 и ТП14 были разрешены с помощью приёмов вынесения, объединения, универсальности, замены механической схемы.

Этап эволюции показан на рисунке 16. 

Полетный контроллер на Ардуино? На STM32F104! Руководство по сборке. | Пикабу

Рисунок 16 – Пятый этап эволюции.

6. Новые аналоги.

Контроллер CopterControl3D (CC3D) создан в рамках открытого проекта Open Pilot,начатого в 2009 году (рис. 17). Как и MultiWii является небольшой и относительно дешевой программируемой платой, но в отличие от неё разрабатывался специально для квадрокоптеров. Так же получил своё программное обеспечение OpenPilot GCS для настройки. Примерно 90% квадрокоптеров используемых для управления First Person Viev (FPV, вид от первого лица – управление осуществляется не только по радио каналу, но и по дополнительному каналу принимается на экран видео в реальном времени) собираются любителями именно на этом контроллере. 

Полетный контроллер на Ардуино? На STM32F104! Руководство по сборке. | Пикабу

Рисунок 17 – Внешний вид платы CC3D

На плате присутствует 32-битный микроконтроллер STM32F103 72MHz с FLASH-памятью 128кб и чип MPU6000 (совмещает 3-осевой гироскоп и 3-осевой акселерометр).

Информация представлена в общем виде и может отличаться для различных версий плат.

Блок-схема системы управления показана на рисунке 18 (отличия только в интерфейсах подключения устройств).

Полетный контроллер на Ардуино? На STM32F104! Руководство по сборке. | Пикабу

Рисунок 18 – Блок-схема системы управления 

В системе выявлены следующие противоречия:

ТП15. При повышении гибкости управления контроллера, путём добавления функций автопилота, недопустимо повышается сложность кода.

ТП16. При повышении универсальности использования контроллера недопустимо повышается сложность кода.

Противоречия ТП15 и ТП16 были разрешены с помощью приёмов вынесения, универсальности, самообслуживания, «посредника».

Этап эволюции представлен на рисунке 19. 

Полетный контроллер на Ардуино? На STM32F104! Руководство по сборке. | Пикабу

Рисунок 19 – Шестой этап эволюции 

7. Решение от Arduino.

Полётный контроллер ArduPilot Mega (рис. 20), разработанный компанией Arduino. Главным отличием от предыдущих является поддержка не только летающих беспилотных аппаратов, но наземных и лодочных систем. Так же помимо радиоуправляемого дистанционного пилотирования – автоматическое управление по заранее созданному маршруту, т.е. полет по точкам, а так же обладает возможностью двухсторонней передачей телеметрических данных с борта на наземную станцию (телефон, планшет, ноутбук и т.д.) и ведение журнала во встроенную память. 

Полетный контроллер на Ардуино? На STM32F104! Руководство по сборке. | Пикабу

Рисунок 20 – Внешний вид платы 

Контроллер поддерживает программирование, как и прочие продукты Arduino, язык программирования Arduino (является стандартным C с некоторыми особенностями). При грамотной настройке позволяет превратить любой аппарат в автономное средство и эффективно использовать его не только в развлекательных целях, но и для выполнения профессиональных проектов. По сравнению с вышеописанными платами более стабильно ведёт себя во время полёта, может неплохо выполнять некоторые фигуры полёта.

Контроллер поддерживает авиасимулятор через ПО Mission Planner, который позволят настроить управление, проложить маршрут и т.д.

На плате установлен микроконтроллеры ATMega2560 и ATMega32U2 (8-битный, тактовая частота 16 MHz, FLASH-память 32кб, SRAM-память 1 кб), датчики MPU6000 и MS5611 (барометр).

Блок-схема системы управления показана на рисунке 21.

Полетный контроллер на Ардуино? На STM32F104! Руководство по сборке. | Пикабу

Рисунок 21 – Блок-схема системы управления. 

В рассмотренной системе были выявлены следующее противоречие:

ТП17. При повышении гибкости управления контроллера недопустимо уменьшается универсальность использования контроллера.

ТП18. При повышении качества платы недопустимо повышается цена.

ТП19. При повышении гибкости управления контроллера недопустимо повышается сложность схемы подключения периферии.  

Противоречия ТП17 и ТП18 были разрешены с помощью приёмов объединения, дешёвой замены, универсальности, путём создания универсального полётного контроллера.

На рисунке 22 показан этап эволюции. 

Полетный контроллер на Ардуино? На STM32F104! Руководство по сборке. | Пикабу

Рисунок 22 – Седьмой этап эволюции. 

8. Новое поколение.

Pixhawk – полетный контроллер нового поколения (рис. 23), дальнейшая разработка проекта PX4 и программного кода Ardupilot от 3DRobotics. В контроллере присутствует операционная система реального времени NuttX.

Контроллер поддерживает большое количество систем:

наземные, воздушные, наводные. Поддерживает различные модули и стандарты для их связи. Из-за своей универсальности и стал популярным. Поддерживает использование ПО Mission Planner как ArduPilot.  

Полетный контроллер на Ардуино? На STM32F104! Руководство по сборке. | Пикабу

Рисунок 23 – Внешний вид контроллера Pixhawk 

На плате установлен 32-битный микропроцессор STM32F427 Cortex M4 (168MHz, FLASH-память 2 Мб, RAM- память 256кб) и 32-битный сопроцессор STM32F103. Так же присутствуют датчики: ST Micro L3GD 20 – 3-осевой гироскоп, ST Micro LSM303D – 3-осевой акселерометр/магнитометр, MPU6000 — 3-осевой акселерометр/гироскоп, MEAS MS5611 – барометр.

Блок-схема системы управления показана на рисунке 24. 

Полетный контроллер на Ардуино? На STM32F104! Руководство по сборке. | Пикабу

Рисунок 24 – Блок-схема системы управления.  

Выявим противоречия описанной системы:

ТП20. При повышении гибкости управления аппарата недопустимо повышается сложность аппаратуры управления.

Противоречия ТП20 были разрешены с помощью приёмов объединения, универсальности, путём создания многофункционального БПЛА с открытым кодом для любительских разработок.

Этап эволюции представлен на рисунке 25. 

Полетный контроллер на Ардуино? На STM32F104! Руководство по сборке. | Пикабу  

Рисунок 25 – Восьмой этап эволюции.

9. Готовое решение.

В 2020 году французская фирма Parrot выпустила на рынок свой беспилотный летательный аппарат AR.Drone. Через пару лет была выпущена обновлённая версия Parrot AR.Drone 2.0 (рис. 29). Проект квадрокоптера был полностью открыт для идей пользователей, что помогло ему стать хитом.

У Parrot AR.Drone 2.0 имеются четыре мотора мощностью 14,5 Вт. Максимальная скорость – 18 км/ч. Масса дополнительной полезной нагрузки – 150 г. Процессор ARM Cortex A8 с частотой 1 ГГц. с 800 Гц. DSP TMS320DMC64x для обработки видео сигналов. RAM DDR2 1Гбит. Две камеры: основная для съёмки и режима FPV с разрешением 720p; дополнительная камера с разрешением 240p для измерения горизонтальной скорости, расположена снизу.Wi-Fi точка для подключения устройства управления (смартфон или планшет с ОС Android или iOS) [9]. 

Полетный контроллер на Ардуино? На STM32F104! Руководство по сборке. | Пикабу  

Рисунок 29 – Внешний вид Parrot AR.Drone 2.0

Открытость проекта позволяет к готовому аппарату подключать дополнительные компоненты. Это была одна из привлекательных черт описываемого квадрокоптера. Также пользователи могли программировать его полётный контроллер, либо создавать различные приложения для управления на языках C, Java и Objectiv-C.

Примерная блок-схема управления представлена на рисунке 30.

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

Полетный контроллер на Ардуино? На STM32F104! Руководство по сборке. | Пикабу

Рисунок 30 – Блок-схема системы управления. 

Выявленные противоречия:

ТП21. При добавлении дополнительной аппаратуры, повышающей функционал автопилота, недопустимо повышается вес аппарата.

10. Дальнейшее развитие.

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

Но возникает техническое противоречие ТП21. Это противоречие разрешается принципами объединения, универсальности, непрерывности полезного действия, «посредника».  

Интеллектуальную систему управления можно реализовать на микропроцессорном компьютере (например, Raspberry Pi) с несколькими датчиками (2 видео камеры и лидар). Такая система при движении по заданному маршруту сможет определить появившееся препятствие, которым может быть человек, другой БПЛА или дерево, стена, которые не заметил оператор при составлении маршрута. Данная система будет распознавать объекты методом компьютерного зрения и определять вектор движения этих объектов. После определения вектора движения, система сравнит его с вектором БПЛА и построит маршрут уклонения с минимальным уходом с маршрута. Такая схема несильно повлияет свои весом на характеристики беспилотного летательного аппарата, но значительно повысит степень его «выживаемости».  

Литература и примечания 

[1] Куда полетит беспилотник без пилота – День за днем [электронный ресурс] // LIVEJOURNAL.COM : Живой журнал. – Электрон. данные. URL:
http://novser.livejournal.com/9293

99.html (дата обращения 14.11.2020 г.). – Заглавие с экрана. [2] OQ-2 [электронный ресурс] // AVIA.PRO : Новости авиации. – Электрон. данные. URL:
http://avia.pro/blog/oq-2

(дата обращения 14.11.2020 г.). – Заглавие с экрана.

[3] Фау-1 [электронный ресурс] // ANAGA.RU : Информационный портал «Столичный комитет». 2008 г. – Электрон. данные. URL:
http://anaga.ru/v-1.htm (дата обращения

17.12.2020 г.). – Заглавие с экрана. [4] Gyrodyne Helicopter Co. Mfg of QH-50 series of VTOL

UAVs. [электронный ресурс] // GYRODYNEHELICOPT ERS.COM : Информационный сайт. – Электрон. данные. URL:
http://www.gyrodynehelicopters.com/dash_weapon_system.htm

(дата обращения 14.11.2020 г.). – Заглавие с экрана.

[5] AR.Drone 2.0: обзор возможностей и дополнений [электронный ресурс] // XAKER.RU : Электронный журнал. – Электрон. данные. URL:
https://xakep.ru/2020/11/11/ar-drone-2-0/

(дата обращения 24.12.2020 г.). – Заглавие с экрана.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector