Коптер – Рубрика – PVSM.RU

Коптер - Рубрика - PVSM.RU Вертолеты

Что вы должны делать после того, как разбили дрон?

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

1. Выключите БПЛА / контроллер и извлеките аккумулятор.

2. Удалите грязь / песок / мусор с дрона.

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

4. Проверьте вручную (не включая дрон), подвес с камерой, все ли вращается как раньше?

5. Проверьте камеру на наличие трещин.

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

7. Удалите все подпорки и проверьте на наличие трещин или деформаций. Заменить любые подпорки, которые показывают признаки повреждения.

8. Проверьте весь корпус на наличие трещин, включая шасси.

10. Проверьте каждый двигатель, чтобы убедиться, что он правильно установлен и не ослаблен (включая все винты).

11. Продуйте песок / мусор / пыль из каждой движущейся части (снова)

Re-загрузки

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

13. Перезагрузите дрон на плоской поверхности и снова дайте ему пройти процедуру запуска.

14. Откалибруйте компас и затем IMU

15. Проверьте подвес на полную амплитуду движения, используя контроль подвеса, а затем перемещая дрон.

16. Запустите двигатели без пропеллеров и проверьте, нет ли колебаний

17. Снова выключите двигатели, прикрепите пропеллеры, перезапустите двигатели и еще раз проверьте на предмет колебания, чтобы убедиться, что все в порядке.

18. Запустите Ваш дрон чуть выше уровня глаз и проверьте, нет ли странных движений / тряски.

19. Во время записи видео выполните основные маневры (вперед, назад, влево, вправо, рыскание влево, рыскание вправо, вверх, вниз)

20. Просмотрите видео, чтобы убедиться в отсутствии дополнительной дрожи

21. Выполните один дальний полет медленно и медленно (не над водой), чтобы убедиться, что все работает нормально

Diy автономный дрон с управлением через интернет

Сначала я написал длинное предисловие откуда взялась такая задача, а потом оно мне показалось скучным и я его удалил.

Итак, задача: создание автономного БПЛА для мониторинга состояния линий электропередач (ЛЭП).

Так как:

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

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

Список дефектов для обнаружения на ЛЭП.

Требования к БПЛА

  • Вертикальный взлет и посадка (без катапульт и парашютов), то есть коптер
  • Умеет взлетать, лететь по заданным точкам, возвращаться обратно и садиться в автоматическом режиме
  • Редактировать полетное задание, давать команду на взлет и на посадку можно из любой точки мира
  • Трансляция телеметрии и видео в реальном времени через интернет
  • Загрузка на сервер фото и видео с бортовой камеры в процессе или после полета
  • Зарядка или механизированная замена аккумулятора без участия человека.

А также два противоречащих друг другу требования:

  • Надежная электроника (если где-то упадет, считай потерял)
  • Относительно низкая стоимость эксперимента (если где-то упадет, считай потерял)

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

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

Для примера, готовые промышленные варианты автономных комплексов: раз, два, три, четыре, пять, шесть, семь, восемь, девять, десять, одиннадцать, двенадцать, тринадцать, четырнадцать. Я всем написал запросы как потенциальный покупатель, чтобы узнать цены. Из них готовых к продаже: 2; готовых к продаже в Россию: 0.

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

Так как мне нужно транслировать видео и телеметрию через интернет, то сразу приходит на ум поставить на дрон микрокомпьютер с 4G модемом и камерой, и сделать из этого комплекта web-трансляцию. Нашлись вот такие решения: раз, два, три. Это обычные одноплатники с внешним USB 4G модемом и камерой. Для кодирования и трансляции видео используется gstreamer. Но эти штуки сами по себе дроном управлять не умеют, их нужно использовать совместно с полетным контроллером. Полетный контроллер — это мозг дрона. Он следит за состоянием датчиков положения (гироскоп, акселерометр, компас), GPS-координатами, положением ручек на пульте управления и, исходя из этих данных, управляет моторами, чтобы висеть в одной точке или куда-то лететь. Полетный контроллер нужно будет как-то связать с бортовым компьютером, чтобы можно было загрузить полетное задание или указать произвольную точку куда лететь и когда включать камеру. В продаже можно найти много разных контроллеров сильно отличающихся друг от друга по цене и функционалу. Какие-то из них работают на своем родном ПО, а какие-то используют open-source ПО, такое как Ardupilot и его форк PX4. С Ardupilot я игрался еще на 8-битных атмегах, в которых не было USB-bootloader’а, а прошивались они на программаторе. С тех пор с ним не сталкивался и был приятно удивлен, когда узнал, что сейчас он может работать на 64-битных компьютерах с Linux, у него огромное сообщество пользователей как хобби, так и профи, длинный список поддерживаемых “из коробки” датчиков и расписанные планы на 2023-2023 годы. За это время он успел перерасти в проект 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 г) получается из микрокомпьютера

Raspberry Pi Zero W

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

Erle PXFMini

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

USB-концентратора

(14 г).

Коптер - Рубрика - PVSM.RU

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

Emlid Edge

(59 г) с GNSS модулем (38 г). GNSS модуль работает по протоколу

UAVCAN

и дополнительно оснащен магнитометром и датчиком воздушного давления. За ШИМ здесь отвечает отдельный процессор ARM Cortex-M3, ОС Linux крутится на основном ARM Cortex-A53 quad-core.

Коптер - Рубрика - PVSM.RU

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

Raspberry Pi 3

(45 г) с контроллером-шилдом

Navio 2

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

Коптер - Рубрика - PVSM.RU

Контроллер оснащен парой раздельных IMU датчиков (акселерометр, гироскоп, магнитометр) MPU9250 и LSM9DS1, одним датчиком воздушного давления и GNSS-модулем

U-blox NEO-M8N

, который видит GPS, Глонасс и BeiDou с внешней антенной через разъем MCX. Запитывать этот “пирог” от 5 вольт можно одновременно с трех сторон, которые работают как дублирующие друг друга независимые источники: основной разъем питания на шилде, PWM серво выходы, micro-USB на Raspberry. Контроллер

Erle Brain 3

(100 г) с внешним GPS модулем (45 г) по своим весу, цене и набору датчиков смотрится в таблице так, что даже фото сюда вставлять не буду. Далее у нас самый надежный и самый тяжелый комплект (150 г), который состоит из популярного полетного контроллера

PixHawk 2 Cube

(80 г) с открытой архитектурой и компьютера Raspberry Pi 3. Вместо Raspberry в этом случае можно использовать любой легкий одноплатник, например,

Odroid XU4

,

NVIDIA Jetson

или любой другой с нужными интерфейсами и подходящим весом.

Коптер - Рубрика - PVSM.RU

В самом PixHawk установлено 2 процессора: первый 32-битный STM32F427 Cortex M4 — основной, на котором работает ОС реального времени (RTOS)

NuttX

и второй резервный (failsafe) 32-битный STM32F103. Контроллер сделан в виде модулей: в кубе установлены процессоры и датчики IMU (на антивибрационном креплении, да еще и с подогревом), а на основу выведены питание и разъемы на всю периферию. Предполагается, что основы могут быть разными и все желающие могут разработать свою собственную под специфические требования, на которую можно потом поставить готовый куб. Есть, кстати, готовый вариант с разъемом под установку микрокомпьютера

Intel Edison

. Но, так как, Intel больше эти компьютеры не выпускает, то и в этом комплекте в качестве бортового компьютера будет Raspberry. Raspberry используется как дополнительный компьютер для связи с интернетом и на нем можно запускать любые ресурсоемкие задачи (например, распознавание образов в OpenCV), не боясь, что сбои в таком процессе “повесят” критичные функции, такие как управление моторами. Итак, учитывая вес, характеристики и цену на первое место для меня выходит комплект Navio 2 Raspberry, а на второе Pixhawk 2 Cube Raspberry ( 52 г). Вот, если бы под Pixhawk была основа в разъемом для маленького Raspberry Zero, да еще и выводом USB, то было бы интересней. Но такую еще купить нельзя, а изготавливать ее пока не интересно.

Запишу в заметки, что повышенная надежность стоит дополнительные 52 грамма и $110. По общему итогу расчетов эти цифры могут оказаться незначительными.

Автономная зарядка

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

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

Посадка “в точку”

Для точной посадки можно использовать стандартную камеру бортового компьютера, визуальные маркеры и OpenCV для их распознавания. Вот один из вариантов решения, который можно нагуглить. Еще один свежий появился, когда я писал эту статью. Но распознавание образов достаточно трудоемкий процесс для Raspberry, и без особой необходимости загружать его не хочется. Также качество распознавания будет сильно зависеть от материала из чего сделан маркер и условий освещенности. Желательно, чтобы это был отдельный датчик и отдавал готовые координаты нужной визуальной точки, независимо от наличия и угла падения света. И такой есть в списке поддерживаемого оборудования Ardupilot, называется IR-Lock.

Коптер - Рубрика - PVSM.RU

Airobotics

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

Pixy CMUcam5

. Этот модуль снабжен камерой и процессором, и его можно “научить” распознавать определенные образы объектов, а, затем, на выходе получать готовые координаты этих объектов на изображении.

Коптер - Рубрика - PVSM.RU

Зная координаты распознанного образа на изображении и расстояние до него, полетный контроллер вычисляет на какое расстояние и в какую сторону нужно переместить дрон. Модификация IR-Lock состоит в том, что в качестве маркера, который нужно распознать используется

ИК фонарь из светодиодов

, а на камере обычные линзы заменены на те, что пропускают только ИК свет. В итоге, при любом освещении, камера видит свечение фонаря белым цветом на черном фоне (и больше ничего), что сильно повышает точность распознавания. Для нормальной работы этого датчика необходим еще и

дальномер

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

LightWare LW20

(20 грамм и $299, меряет до 100 м), или дешевый и короткий

VL53L0X

(менее 1 грамма и $10, меряет до 2 м), который стал

поддерживаться

в последних версиях Ardupilot. Почему-то ультразвуковой датчик для целей посадки не заслуживает доверия разработчиков IR-Lock. Кстати, дроны DJI автоматически садятся, используя ультразвук и стереокамеры.

Висеть, как вкопанный

Чтобы дрон умел висеть на одном месте и не “плавать”, одного только GPS не достаточно. К сожалению, из-за состояния атмосферы координаты с приемников GPS могут плавать в пределах десятков метров и для сантиметровой точности нужно использовать корректирующие системы GPS RTK. Эта система использует наземную неподвижную станцию, как эталон отклонений координат, и радиосвязь с бортом, чтобы отправить туда значения этих отклонений. Такая штука обязательно нужна для съемки фотопланов с последующей склейкой в большие карты, а для целей висения на месте я пока ограничусь оптическим датчиком PX4Flow.

Работает он по такому же принципу, как и оптическая мышь. В отличие от IR-Lock, он не распознает конкретный образ и в Ardupilot они работают в разных полетных режимах. Изображение с камеры анализируется на смещение 400 раз в секунду, а вычисленные значения смещения могут быть прочитаны контроллером по протоколу I2C. Датчик (

open-hardware

) весит 15 грамм и имеет все необходимое у себя на плате: процессор 168 MHz Cortex M4F CPU (128 64 KB RAM), оптический сенсор 752?480 MT9V034 и 3-х осевой гироскоп L3GD20. Для его нормальной работы также рекомендуется использовать лазерный дальномер, вместо ультразвукового. Хотя на самом модуле предусмотрен разъем как раз для УЗ датчика.

Минимальный комплект электроники

Вот, что собралось:

Коптер - Рубрика - PVSM.RU

Общий вес получается 199 г. Все компоненты работают от 5 Вольт и потребляют в режиме трансляции видео почти 2 Ампера (10 Ватт). В наборе присутствует ультразвуковой датчик расстояния, который будет смотреть вперед на предмет препятствий. Стереозрение и круговые лидары я оставил на потом, если в них возникнет реальная необходимость.

Полезная нагрузка

Так как родная камера от Raspberry делает средние по качеству фото, а также не умеет захватывать фото одновременно с видео, то она будет использоваться только для web-трансляции, а в качестве основной камеры нужна подходящая для выявления дефектов на ЛЭП. Для большей части позиций из списка выявляемых дефектов подойдут GoPro Hero 5 Session, мультиспектральная Parrot Sequoia, двойная Sentera Double 4K и инфракрасная FLIR Vue Pro. Каждая из них весит около 100 г. Для стабилизации камеры с целью улучшения качества снимков в нагрузку с ней полетит 2х или 3х осевой подвес.

Коптер - Рубрика - PVSM.RU

Простые

3-х осевые подвесы весят около 160 г и питаются от 12 Вольт, имеют рабочий ток при таком напряжении около 50 мА и максимальный ток 700 мА при заклинивании моторов.

Питание

Для питания всей электроники необходимы источники на 5 Вольт (минимум 2,2 Ампера) и 12 Вольт (минимум 1 Ампер). С учетом резервного питания полетного контроллера, нужно два независимых источника на 5 Вольт. Сделать систему питания можно из отдельных модулей подходящего номинала или найти готовый “3 в 1”, например такой (24 г, макс входное напряжение до 28 Вольт, выходы по 3А). К нему будет подключен датчик тока (22 г), чтобы была возможность измерять расход мАч на аккумуляторе. Комплект электроники камера подвес система питания весят 505 г.

Моторы и пропеллеры

На многих профессиональных дронах я видел моторы и пропеллеры компании T-Motor. Видимо, не спроста. В документации Ardupilot они также рекомендованы как силовая установка для профессиональных дронов. Поэтому, поищем подходящие моторы у них. Чтобы дрон летал долго, нужны моторы с максимальным КПД. Эффективность связки мотора и пропеллера измеряется количеством тяги в граммах на 1 Ватт затраченной электроэнергии. Чтобы узнать какой мотор самый подходящий, нужно знать общий вес полностью собранного дрона с учетом рамы, аккумулятора и самих моторов с винтами. Аккумулятор нужен такой, чтобы его хватило минут на 30 полета. Рама нужна такая, чтобы на нее все поместилось и винты ничего не задевали.
Слишком много неизвестных, поэтому воспользуюсь онлайн калькулятором для квадрокоптеров E-calc. Поигравшись в калькулятор, я выбрал моторы Antigravity 4004 KV300 (53 г) с винтами 15х5 (27 г). В оптимальном режиме при напряжении питания 24 Вольта такой комплект тянет 474 грамма при токе 1,4 А. Эффективность получается 14.11 г/Ватт, отношение тяги к собственному весу = 5.9:1. На полном ходу тяга составляет 1311 грамм при токе 7,5 А. Коптер будет с четырьмя моторами, то есть квадро. Оптимальный взлетный вес = (474 г * 4 мотора) = 1896 г, максимальный (с учетом тяговооруженности 2:1) = (1311 г * 4 мотора) / 2 = 2622 г. Моторы управляются регуляторами оборотов. Напряжение питания моторов = 24 Вольта, максимальный рабочий ток = 7,5 А, поэтому нужен регулятор под такое напряжение и с рабочим током, с учетом запаса, минимум 10А. У T-Motor самый легкий регулятор (7 г без проводов) под такое напряжение — это FPV 35A-32bit 3-6S. Он сделан на основе популярной прошивки BLHeli-32, с закрытым кодом, но с широкими возможностями настроек и большим числом аналогов. Подитог:

ВМГ (винто-моторная группа), состоящая из моторов, пропеллеров и регуляторов (по 4 шт каждого) весит 346 г.

Вместе с электроникой и полезной нагрузкой (346 505) получается 851 г. С учетом крепежа, проводов и разъемов (прикинем 100 г) = 951 г.

При оптимальном весе, на раму и аккумулятор остается (1896 — 951) = 945 г. При максимальном (2622 — 951) = 1671 г.

Рама

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

Коптер - Рубрика - PVSM.RU

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

раз

: 600мм и 750г,

два

: 650мм и 450г,

три

: 690 и 675г,

четыре

: 650мм и 750г. Все они отличаются исполнением и наличием складных элементов (шасси, лучи) для удобства транспортировки. Выбор конкретного экземпляра для своих нужд пока отложу, для дальнейшего расчета буду иметь в виду вес рамы равный 450 г. Остается аккумулятор весом 495 г для оптимального веса и 1221 г для максимального.

Аккумулятор

Для выбора аккумулятора нужно знать какой он должен отдавать ток.

На полном ходу двигатели будут “есть” 30А (7,5А * 4 мотора), а электроника примерно 0,45А (10 Ватт). С учетом небольшого запаса округлим минимальный рабочий ток аккумулятора в 35А. Для Li-Po батарей с высокой токоотдачей в 30С минимальная емкость будет равна 1,2 Ач (35/30), а для более легких Li-Po и Li-Ion с токоотдачей в 10С минимальная емкость 3,5 Ач (35/10).

Как вариант, сборка 6S2P из Li-Ion Sony VTC6 с BMS весит примерно 630 г (при емкости 6 Ач). С этим аккумулятором дрон будет весить 2031 г, что больше оптимального на 135 г, но в пределах максимального. Теперь посчитаем на какое время коптер сможет зависнуть при идеальных условиях. При общем весе в 2031 г на каждый мотор приходится 508 г. Взглянем на характеристики мотора и найдем потребляемый ток при такой тяге. Он примерно будет равен 1,6А. 4 мотора и электроника дадут в сумме 6,85A (1,6 * 4 0,45). С учетом разрядки аккумулятора до 20% получится (6 Ач * 80% / (6,85 A)) = 0,7 часа или 42 минуты.

Компоновка

Коптер - Рубрика - PVSM.RU

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

Коптер - Рубрика - PVSM.RU

Немного поэкспериментировав с компоновкой и центром тяжести, получилась вот такая рама:

Коптер - Рубрика - PVSM.RU

Она состоит из карбоновых трубок и пластин, деталей из алюминия и крепежа из титана. Расчетный вес рамы получился 350 г при диагонали 700 мм.

3D-модель рамы

и

список деталей

. Полностью собранная модель (без проводов):

Коптер - Рубрика - PVSM.RU

Общий вес коптера с электроникой, аккумулятором Li-Ion 6S2P и проводами должен получится 1931 г. Да, мне тоже показалось, что дрон получился слишком голым для автономного варианта и мелкий дождик легко намочит бортовую электронику. Поэтому добавил немного пластика:

Коптер - Рубрика - PVSM.RU

3D-модель рамы

.

Список деталей рамы

.

3D-модель в сборе

.

Список компонентов

. Вес пустой рамы с корпусом 384 г, общий вес 2020 г, расчетное время висения на одной зарядке (разряд аккумулятора до 20%): 44 минуты.

Бокс для зарядки

Коптер - Рубрика - PVSM.RU
Коптер - Рубрика - PVSM.RU

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

Коптер - Рубрика - PVSM.RU

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

Коптер - Рубрика - PVSM.RU

Продолжение следует…

Видеотрансляция

Проверим как работает видеотрансляция в сети WiFi. Такой командой можно запустить видео в TCP-порт на Raspberry с использованием родной утилиты raspivid для камеры Raspicam:

raspivid -t 0 -hf -fps 25 -w 640 -h 480 -o - | gst-launch-1.0 fdsrc ! h264parse ! rtph264pay config-interval=1 pt=96 ! gdppay ! tcpserversink host=0.0.0.0 port=5001

А вот такой командой делается тоже самое, только с использованием ранее скомпилированной обертки rpi-camsrc для gstreamer:

gst-launch-1.0 rpicamsrc sensor-mode=4 ! h264parse ! rtph264pay config-interval=1 pt=96 ! gdppay ! tcpserversink host=0.0.0.0 port=5001

В обоих случаях, трансляция в формате h264 доступна по IP-адресу Raspberry на порту 5001.

Посмотреть ее можно запустив на своем ПК такую команду (должен быть установлен gstreamer), вместо RPI_ADDRESS указываем адрес Raspberry в сети:

gst-launch-1.0 -v tcpclientsrc host=RPI_ADDRESS port=5001  ! gdpdepay !  rtph264depay ! avdec_h264 ! videoconvert ! autovideosink sync=false

В результате должно открыться окошко с видео.

Практически в любую GCS встроен видеоплеер, который может показывать RTSP-видеопоток. Чтобы сделать из Raspberry RTSP-сервер можно использовать консольный плеер VLC. Установка:

sudo apt-get install vlc

Видеотрансляция запускается так:

raspivid -o - -t 0 -n -w 320 -h 240 -fps 25 | cvlc -vvv stream:///dev/stdin --sout '#rtp{sdp=rtsp://:8554/live}' :demux=h264

Видео доступно по адресу (вместо RPI_ADDRESS, адрес Raspberry):

rtsp://RPI_ADDRESS:8554/live

Настройка GCS:

Адрес потока можно использовать для подключения нескольких плееров на разных устройствах, но, так как видеозахват и трансляция для Raspberry весьма трудоемкий процесс, то для нескольких потребителей видео лучше использовать внешний сервер (описание ниже).

Выбор режима на дроне

При использовании беспилотника, определитесь с режимом полета. Большинство четырёхколёсных вертолётов имеют три основные программы. В том числе:

Режим удержания GPS-режима — работает при непосредственном участии модуля GPS. Этот режим полета управляется бортовой электроникой, отвечающей за стабилизацию квадрокоптера. Функция определения местоположения, реализованная с помощью GPS, активна.

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

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

«Режим самонивелирования» (Горизонтный режим) — В этих режимах активна электроника, отвечающая за стабилизацию беспилотника (гироскоп, акселерометр), затраты (индикаторы скорости) ограничены. Эти режимы хорошо подходят для обучения пилотов.

Режим удержания высоты — Этот режим полета управляется бортовой электроникой, которая отвечает за стабилизацию беспилотника, активирована функция поддержания высоты, реализованная штурманом (барометром). Во время полета в этом режиме, если пилот отпустит палки/джойстики, квад не упадет, как это может случиться в упомянутых выше режимах полета, а зависнет на высоте, занимаемой во время полета.

При записи видео или фотосъемке используйте режим стабильного полета. Его активация активирует встроенный датчик акселерометра. Его задача — поддерживать заданную высоту на автоматическом уровне. Ручной полет означает управление беспилотником самостоятельно.

Конфигурация osd

Раз мы уже делаем полноценный FPV-коптер, то не обойтись без OSD, который показывает информацию из контроллера на видео. С Naze32 прекрасно работает MinimOSD, с Harakiri даже со стандартной прошивкой, так как в отличие от BaseFlight Harakiri поддерживает протокол MAVLink. Однако существует ещe такая прекрасная прошивка для MinimOSD под названием

. Она вообще предназначена для работы с MultiWii-контроллерами, но прекрасно работает с Naze32, и в отличие от стандартной и других прошивок позволяет изменять PID-параметры контроллера с помощью пульта д/у через экранное меню. Это сильно сокращает время на настройку этих самых параметров, которые обычно меняются только через GUI на компьютере.

MinimOSD — это миниатюрная плата с OSD чипом MAX7456 и процессором ATmega 328p, совместимая с Arduino. Для прошивки и настройки необходим лишь FTDI-адаптер, так как на плате нет разъема USB.

Сначала подключаем MinimOSD через FTDI в USB-порт и открываем Arduino. Открываем стандартный скетч EEPROM Clear, выбираем нужный COM-порт, выставляем плату Arduino Pro or Pro Mini (5V, 16 MHz) w/ ATmega 328, заливаем. Ждем пару секунд пока загорится светодиод на плате — память старой прошивки стерта. Качаем сорцы KV-Team-OSD версии r345 или r370, открываем и добавляем следующие строки в config.h:

Компилируем, заливаем. Закрываем Arduino, подключаем питание к OSD-стороне платы (там нужны 12В, иначе чип MAX7456 не получает питания; альтернативно на некоторых версиях можно соединить несколько контактов припоем и запитать MAX7456 от 5В, тогда ни в коем случае нельзя подключать со стороны камеры и передатчика)

, и открываем GUI от KV-Team-OSD. Сделан он на том же Processing, что и MultiWii GUI, и выглядит соответственно похоже. Заливаем шрифт на чип MAX7456, нажав Upload, дожидаемся окончания процесса. Выставяем параметры: плата Minim, не показывать RSSI и прочую фигню, показывать напряжение из данных MultiWii (если у нас подлючен соответствующий кабель на контроллере), показывать данные GPS кроме координат, ну и все остальное по желанию.

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

По завершению всех настроек не забываем нажать Write, отключаем адаптер FTDI и подключаем MinimOSD к Naze32 — пины TX и RX находятся в середине контроллера, 5В и землю можно взять напрямую с одного из BEC-ов регуляторов, или со свободного разъема на контроллере.

Моторы и пропеллеры

На многих профессиональных дронах я видел моторы и пропеллеры компании T-Motor. Видимо, не спроста. В документации Ardupilot они также рекомендованы как силовая установка для профессиональных дронов. Поэтому, поищем подходящие моторы у них.

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

Слишком много неизвестных, поэтому воспользуюсь онлайн калькулятором для квадрокоптеров E-calc.

Поигравшись в калькулятор, я выбрал моторы Antigravity 4004 KV300 (53 г) с винтами 15×5 (27 г). В оптимальном режиме при напряжении питания 24 Вольта такой комплект тянет 474 грамма при токе 1,4 А. Эффективность получается 14.11 г/Ватт, отношение тяги к собственному весу = 5.9:1.

Моторы управляются регуляторами оборотов. Напряжение питания моторов = 24 Вольта, максимальный рабочий ток = 7,5 А, поэтому нужен регулятор под такое напряжение и с рабочим током, с учетом запаса, минимум 10А. У T-Motor самый легкий регулятор (7 г без проводов) под такое напряжение — это FPV 35A-32bit 3–6S.

Подитог:

ВМГ (винто-моторная группа), состоящая из моторов, пропеллеров и регуляторов (по 4 шт каждого) весит 346 г.

Вместе с электроникой и полезной нагрузкой (346 505) получается 851 г. С учетом крепежа, проводов и разъемов (прикинем 100 г) = 951 г.

При оптимальном весе, на раму и аккумулятор остается (1896 — 951) = 945 г. При максимальном (2622 — 951) = 1671 г.

Настройка и запуск ardupilot

Релизы новых версий Ardupilot немного запаздывают в сборке от Emlid. Если необходимый функционал доступен в самой последней версии, то установить ее из исходников можно по этой инструкции.

Разработчики Navio добавили в свою сборку простую и удобную утилиту Emlid tool для проверки датчиков и настройки Ardupilot. Сначала проверим, видит ли Raspberry контроллер Navio:

emlidtool info

Если в ответ на эту команду выдает что-то вроде:

Vendor: Emlid Limited
Product: Navio 2
Issue: Emlid 2023-06-05 831f3b08594f2da17dccae980a2e3659115ef71f
Kernel: 4.14.34-emlid-v7 
RCIO firmware: 0xcaec2284

значит видит. Проверим состояние датчиков (покажет список и состояние):

emlidtool test

и драйвера ШИМ-контроллера в ядре Linux:

cat /sys/kernel/rcio/status/alive

0 = не работает, 1 = работает.

Прошивка ШИМ-контроллера обновляется так:

sudo emlidtool rcio update

Теперь настроим Ardupilot:

sudo emlidtool ardupilot

В терминале откроется текстовый GUI с пошаговыми менюшками. Выбираем copter последней версии, тип arducopter, автозапуск при включении (On boot: enable), старт после настройки (Ardupilot: start).

Выходим через пункт меню Quit.

Проверим запустился ли Ardupilot:

sudo systemctl status arducopter

Обратите внимание, файл запуска в systemd называется arducopter, так как настроен был вариант copter.

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

sudo nano /etc/default/arducopter 

В нем должны быть такие строки:

TELEM1="-A udp:127.0.0.1:14550"
ARDUPILOT_OPTS="$TELEM1"

Сохраняем файл (Ctrl X, затем Y) и перезапускаем Ardupilot:

sudo systemctl daemon-reload
sudo systemctl restart arducopter

Проверить состояние процесса Ardupilot можно такой командой:

sudo systemctl status arducopter

С такими настройками Ardupilot будет транслировать телеметрию (пакеты MAVLink) в локальный UDP-порт 14550. Далее, скрипт MAVProxy (описание ниже) будет забирать оттуда телеметрию и передавать в GCS или скрипт, а также отправлять в обратном направлении пакеты с командами.

Вместо локального адреса и порта можно записать IP-адрес ПК или планшета в локальной сети и пакеты будут транслироваться сразу туда.

Однако, такой подход оправдан, если данные телеметрии больше нигде не используются и у устройства с GCS статический IP адрес. Иначе каждый раз в настройках Ardupilot придется прописывать новый. Чтобы общаться с автопилотом по TCP могли одновременно несколько GCS с динамическими адресами и еще какие-нибудь скрипты на самом бортовом компьютере, удобнее использовать MAVProxy.

Этот скрипт (написан на Python) может получать пакеты MAVLink на локальный UDP-адрес и ретранслировать их на несколько локальных или удаленных IP-адресов как по UDP, так и по TCP. Пакеты передаются в обоих направлениях Ardupilot ⇔ GCS. Кроме того, MAVProxy представляет из себя полноценную GCS, но с текстовым интерфейсом.

Сборка

Итоговая сборка коптера в картинках:

DIY автономный дрон с управлением через интернет / Хабр
Передние моторы, их регуляторы и FPV-камера установлены.DIY автономный дрон с управлением через интернет / Хабр
Вся электроника установлена на верхней полураме: спереди видеопередатчик, дальше контроллер, за ним GPS и сзади регулятор и (пока еще жестко прикрученный) третий мотор. Сбоку лежит сервопривод.DIY автономный дрон с управлением через интернет / Хабр
Вид снизу: посередине MinimOSD в белой термоусадке, вокруг куча проводов.DIY автономный дрон с управлением через интернет / Хабр
Куча проводов слегка упорядочена, припаян коннектор для аккумулятора (обычный желтый XT60). Чем хороши 3S аккумуляторы — их напряжением в 11-12,6В можно напрямую питать 12-вольтовые девайсы, в данном случае камеру и передатчик. Не нужны отдельные BEC’и, экономится вес.DIY автономный дрон с управлением через интернет / Хабр
Установлена механика заднего мотора, сервопривод и собственно мотор. В качестве оси шарнира я взял 3мм карбоновый стержень, он очень легкий и прочный. Отверстия под него рассверлены таким образом, что в верхней половинке шарнира он сидит плотно, а в нижней свободно вращается. Для спокойствия он также закрепен каплей клея возле мотора. Снизу висит приемник д/у Graupner GR-16.DIY автономный дрон с управлением через интернет / Хабр
Готовый коптер на кухонных весах. Старые аккумуляторы Turnigy на 20 грамм тяжелее новых Zippy Compact, на которых я сейчас летаю — таким образом итоговый вес сейчас 550 грамм, в четыре раза меньше моего квада.

Однако сборка коптера — это еще нe все.

Способ первый

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

Это важно:

  • чтобы режим «Headless mode» правильно сработал, перед его включением убедитесь, что пульт дистанционного управления находится точно сзади беспилотника.

Если после калибровки датчиков, квадрокоптер все-таки тянет в сторону, для его качественной стабилизации нужно произвести триммирование (точную настройку). 

Для этого используем триммеры снизу и слева от правого стика на пульте ДУ.

Если квадрик уводит влево, кликните несколько раз на кнопку триммера «вправо». Если замечаете крен вправо, то нажмите на триммере «влево» несколько раз. По аналогии настройте полет дрона вперед/назад.

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

Опытные пилоты производят триммирование в полете (нужно поднять дрон на высоту не менее 0,5 метра). Как начинающий летчик, можете пробовать настроить коптер на земле. То есть взлететь, увидеть в какую сторону заносит дрон, приземлиться, сделать несколько кликов на нужную кнопку триммера, а затем снова подняться в воздух, чтобы ощутить разницу. И так до тех пор, пока квадрокоптер не зависнет идеально в воздухе.

Медленно, но уверенно. 

Как правильно откалибровать квадрокоптер

Если не получается…

Если точная настройка квадрокоптера (триммирование) не дает нужного эффекта, возможно дело не в гироскопах. Может случиться, что двигатели расположены не симметрично или повреждены лопасти. Еще одна возможная причина – какому-то из моторчиков не хватает тяги, чтобы ровно поднять дрон в воздух. В этом случае не обойтись без опытного помощника или даже мастера.

Как пожелание…

Не спешите выжать из нового квадрика все соки в первый же день полетов!

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

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

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

  • поставить устройство на ровную поверхность;
  • включить питание или подсоединить аккумулятор;
  • дождаться окончания тестирования.

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

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

  • при смещении вперед или назад, нажимается триммер сбоку от левого джойстика вверх или вниз;
  • при вращении в какую-либо сторону недостаток устраняется триммером под левым джойстиком;
  • смещения вперед-назад регулируются триммером сбоку от правого джойстика;
  • уход влево-вправо компенсируется триммером под правым джойстиком.

Регулировка производится до тех пор, пока недостатки не будут устранены. Данная операция никак не влияет на работу дрона, делается калибровка только пульта.

Второй способ подходит для владельцев моделей без триммеров на пульте управления.

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

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

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

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

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

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

После того, как дрон издаст долгий сигнал — можно проверить работу двигателей. Затем газ убирают до минимума и отключают питание квадрокоптера для завершения начальной калибровки и установки параметрики по тяге. Дальнейшие тонкие регулировки производятся при помощи программного пакета mission planer.

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

  • Настройку электроники и аппаратуры управления;
  • Настройку компаса, акселерометра и других датчиков;
  • Настройку регуляторов скорости двигателей;
  • Регулировку отзывчивости джойстиков (пульта управления);
  • Прошивку или перепрошивку аппарата (в случае необходимости).

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

Итак, ваш новый квадрокоптер уже перед вами, но вы пока не умеете его запускать. С чего начать?

  1. Первым делом нужно собрать дрон. Почти все они поставляются в частично разобранном виде, поэтому навыки сборки конструктора вам очень пригодятся.
  2. Припасите запасной аккумулятор. Современные модели редко могут протянуть в воздухе больше 10 минут. А для полноценной тренировки этого времени не достаточно.
  3. Обязательно прикупите несколько запасных частей. Аварии неизбежны, а особенно часто ломаются именно пропеллеры.
  4. Далее следует откалибровать и настроить датчики: акселерометр, компас и GPS.

Остается только бегло просмотреть прилагаемую инструкцию и можно попробовать поднять в воздух свой первый аппарат.

Смотрите про коптеры:  Тхэ Джун Парк или кто-такой Крипто — Игры на DTF
Оцените статью
Радиокоптер.ру
Добавить комментарий