programmable drone на АлиЭкспресс — купить онлайн по выгодной цене

Что такое квадрокоптер и для чего это надо

Мультироторы, они же мультикоптеры или просто коптеры, — это беспилотные летательные аппараты, предназначенные для развлечения, съемки фото и видео с воздуха или отработки автоматизированных систем.

Коптеры обычно различают по числу используемых моторов — начиная от бикоптера с двумя моторами (как GunShip из фильма «Аватар») и заканчивая октакоптером с восемью. На самом деле число моторов ограничено только твоей фантазией, бюджетом и возможностями полетного контроллера. Классическим вариантом является квадрокоптер с четырьмя моторами, расположенными на перекрещивающихся лучах.

Такую конфигурацию еще в 1920 году попытался соорудить француз Этьен Омишен (Étienne Oehmichen), и в 1922 году у него это даже получилось. По сути, это самый простой и дешевый вариант сделать летательный аппарат, способный без особых проблем поднимать в воздух небольшие камеры вроде GoPro.

Что дальше?

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

До встречи!

Programmable drone на алиэкспресс — купить онлайн по выгодной цене

Перед покупкой сравните цены на programmable drone, прочитайте реальные отзывы покупателей, ознакомьтесь с техническими характеристиками.

Закажите programmable drone онлайн с доставкой по России: товары с пометкой Plus доступны с ускоренной доставкой и улучшенными условиями возврата.

На Алиэкспресс programmable drone всегда в наличии в большом ассортименте: на площадке представлены как надежные мировые бренды, так и перспективные молодые.

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

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


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

Автономная навигация

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

Для автономного управления дрону надо как минимум знать с высокой точностью свои координаты в пространстве. На открытом пространстве можно использовать GPS — точность достигается в несколько метров. Дополнительная наземная станция и технология GPS RTK увеличат точность до нескольких сантиметров.

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

В таком режиме безопасно летать только в открытом небе без препятствий. Если речь идет об обследовании зданий, трубопроводов или применении внутри помещений, то тут не обойтись без дополнительных сенсоров, определяющих расстояние до объектов. Тут используют одномерные сонары, лидары, двумерные лидары, 3D-лидары и камеры глубины.

Есть еще одна важная проблема: если мы летаем в замкнутом пространстве или между высокими зданиями, то сигнал GPS будет недоступен и необходимо иметь другой источник координат дрона в пространстве. Можно определять свои координаты на борту, обрабатывая видеопоток с бортовых камер — лучше использовать стереокамеры или камеры глубины. Такой алгоритм называется SLAM (Simultaneous Localization and Mapping).

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

Алгоритм не знает 3D-координаты особых точек и координаты камеры в моменты съемок кадров — эти параметры ему как раз и надо вычислить. Он отслеживает изменения пиксельных координат особых точек между кадрами и пытается подобрать такие параметры, чтобы, если спроецировать особые точки в плоскость кадра, получались наблюдаемые или измеренные пиксельные координаты.

В итоге получается оценка перемещения камеры в пространстве. Обычно алгоритм SLAM очень требователен к вычислительным ресурсам, но есть камера Intel RealSense T265 с микросхемой, реализующей вычисления SLAM на аппаратном уровне.

Для организации автономного управления дроном необходимо решить три задачи.

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

Аккумулятор

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

На полном ходу двигатели будут “есть” 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 минуты.

Безопасность

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

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

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

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

programmable drone на АлиЭкспресс — купить онлайн по выгодной цене

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

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

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

Часть 2 про ПО.

Бортовой компьютер и сенсоры

• гироскоп позволяет удерживать коптер под определенным углом и стоит во всех контроллерах; • акселерометр помогает определить положение коптера относительно земли и выравнивает его параллельно горизонту (комфортный полет); • барометр дает возможность удерживать аппарат на определенной высоте.

• компас и GPS вместе добавляют такие функции, как удержание курса, удержание позиции, возврат на точку старта и выполнение маршрутных заданий (автономный полет). К установке компаса стоит подойти внимательно, так как на его показания сильно влияют расположенные рядом металлические объекты или силовые провода, из-за чего «мозги» не смогут определить верное направление движения;

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

Сейчас существует три основных открытых проекта: MultiWii, ArduCopter и его портированная версия MegaPirateNG. MultiWii самый простой из них, для запуска требует Arduino с процессором 328p, 32u4 или 1280/2560 и хотя бы одним датчиком-гироскопом. ArduCopter — проект, напичканный всевозможным функционалом от простого висения до выполнения сложных маршрутных заданий, но требует особого железа, основанного на двух чипах ATmega.

Продвинутый девяти- канальный пульт
Продвинутый девяти-
канальный пульт

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

Наконец, стоит упомянуть еще один компьютер — PX4, отличающийся от клонов Arduino тем, что у него есть UNIX-подобная операционная система реального времени, с шеллом, процессами и всеми делами. Но надо предупредить, что PX4 — платформа новая и довольно сырая. Сразу после сборки не полетит.

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

Безопасность

Все новички, думая о безопасности, вспоминают AR.Drone и его защиту винтов. Это хороший вариант, и он работает, но только на мелких и легких аппаратах, а когда вес твоего коптера начинает приближаться к двум килограммам или давно перевалил за эту цифру, то спасти может только прочная железная конструкция, которая будет весить очень много и, как ты понимаешь, сильно уменьшит грузоподъемность и автономность полета. Поэтому лучше сперва тренироваться подальше от людей и имущества, которое можно повредить, а уже по мере улучшения навыков защита станет и не нужна. Но даже если ты пилот со стажем, то не забывай о технике безопасности и продумывай возможные негативные последствия твоего полета при нештатных ситуациях, особенно при полетах в людных местах. Не стоит забывать, что сбой контроллера или канала связи может привести к тому, что аппарат улетит от тебя далеко, и тогда для поиска может пригодиться GPS-трекер, установленный заранее на коптер, или же простая, но очень громкая пищалка, по звуку которой ты сможешь определить его местоположение. Настрой и заранее проверь функцию fail safe твоего полетного контроллера, которая поможет приземлиться или вернуть коптер на точку старта при потере сигнала с пульта.

Смотрите про коптеры:  Краткий гайд по квадрокоптерам для FPV | Пикабу

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

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

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

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

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

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


Так как мне нужно транслировать видео и телеметрию через интернет, то сразу приходит на ум поставить на дрон микрокомпьютер с 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 г).

programmable drone на АлиЭкспресс — купить онлайн по выгодной цене

Рабочий процессор в этом комплекте один — на 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.

Запуск софта

Сначала ставим Docker и пакеты Python.

Качаем образ и софт.

Собираем образ.

Скачиваем и компилируем код PX4 в режиме sitl внутри образа Docker.

Симуляция в Gazebo
Симуляция в Gazebo

Запускаем контейнер в режиме bash, компилируем и запускаем тест.

Ты должен увидеть такое же окошко Gazebo, в котором дрон начнет летать. В консоли ты получишь вот такой вывод:

Тест должен закончиться так.

На ошибки вроде этой не обращай внимания, их выдает PX4 по неизвестной мне причине.

Для завершения процесса нажимай Ctrl-C.
Для завершения процесса нажимай Ctrl-C.

Как еще можно модернизировать квадрик

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

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

Выбор платы Arduino Uno обусловлен тем, что с нее можно довольно легко снять чип и поставить его на ProtoBoard. Это позволяет уменьшить вес дрона на 30 грамм, но придется включить в схему дополнительные конденсаторы. Подойдет и плата Arduino Pro Mini.

Что касается программы Arduino, то ее можно сравнительно легко изменить и дополнить новыми функциями. Главное, что с ее помощью дрон способен в автоматическом режиме стабилизовать свое положение.

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

Как работает софт управления

В нашем простейшем примере дрон будет летать очень примитивно.

  1. Источник координат дрона — не SLAM, а симулированный сигнал GPS.
  2. Дрон в симуляторе не строит карту окружающего пространства.
  3. Дрон летает по заранее заданной траектории.

Для первого теста вполне неплохо.

Какие бывают дроны

Дроны бывают разные. По конструкции различают несколько типов дронов:

  • мультироторный — коптеры;
  • самолетный — fixed wing;
  • гибридный — он взлетает вертикально, потом использует крылья.

Также дроны делятся на потребительские (consumer) и коммерческие (commercial).

Потребительские, как ты понимаешь, — это те, которые можно купить в магазине и использовать как летающую камеру. DJI Phantom и Mavic — хорошие модели. Есть и менее дорогие, но они определенно уступают по качеству. Такие квадрокоптеры используют для съемки разных мероприятий, зданий, исторических объектов.

Как правило, такие дроны летают на ручном управлении, реже по миссии в автономном режиме по GPS-координатам. Рынок потребительских квадрокоптеров больше чем наполовину принадлежит одной компании — DJI. С ней очень сложно конкурировать, поскольку там делают реально крутой продукт: доступный, функциональный, удобный.

Хотя в области квадрокоптеров для селфи DJI начинает теснить компания Skydio со своим дроном R2. Фишка этого дрона в том, что он может летать автономно, например за мотоциклистом в лесу. При этом беспилотник видит все препятствия и прокладывает автономный безопасный маршрут в реальном времени так, чтобы человек всегда оставался в кадре. Реально крутая штука.

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

Пример российской компании, которая активно работает с этой технологией на рынке США, — Traceair.

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

Ну и конечно, у всех на слуху доставка товаров дронами. Не знаю, заработает ли когда-нибудь сервис Amazon Prime Air, но уже сейчас компания Matternet доставляет товары в Цюрихе и некоторых городах США, а компания Zipline давно отправляет медикаменты в полет над просторами Африки.

Компании Volocopter и Ehang уже имеют летающие прототипы такси, а компания с российскими корнями Hoversurf разрабатывает летающий байк.

В помещениях тоже есть задачи для коммерческих дронов, но пока они не сильно распространены, в этой области идут интенсивные R&D-исследования. Возможные применения для такого вида дронов:

Смотрите про коптеры:  Как выбрать квадрокоптер: основные нюансы и рекомендации | Cтатьи

Поживем — увидим, какие проекты будут реализованы и задисраптят нашу жизнь. Глобальная цель — сделать систему управления дроном, которой герой фильма «Бегущий по лезвию 2049» мог бы сказать: «Сфотографируй тут все!»

Кадр из фильма «Бегущий по лезвию 2049»
Кадр из фильма «Бегущий по лезвию 2049»

Компоновка

programmable drone на АлиЭкспресс — купить онлайн по выгодной цене

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

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

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

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

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

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

3D-модель рамы. Список деталей рамы.3D-модель в сборе. Список компонентов.

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

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


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

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

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

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

На многих профессиональных дронах я видел моторы и пропеллеры компании

. Видимо, не спроста. В документации Ardupilot они также

как силовая установка для профессиональных дронов. Поэтому, поищем подходящие моторы у них.

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

Слишком много неизвестных, поэтому воспользуюсь онлайн калькулятором для квадрокоптеров 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.

Подитог:

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

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

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

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

Из-за вращения моторов в разные стороны приходится использовать разнонаправленные пропеллеры: прямого вращения (против часовой) и обратного вращения (по часовой). Обычно используются двухлопастные пропеллеры, их легче балансировать и найти магазинах, в то время как трехлопастные дадут больше тяги при меньшем диаметре винта, но доставят много головной боли при балансировке.

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

Регулятор скорости,  он же ESC
Регулятор скорости,
он же ESC

У любого пропеллера есть два основных параметра: диаметр и шаг. Их обозначают по-разному: 10 × 4.5, 10 × 45 или просто 1045. Это означает, что диаметр пропеллера 10 дюймов, а его шаг 4,5 дюйма. Чем длиннее пропеллер и больше шаг, тем большую тягу он сможет создавать, но при этом повысится нагрузка на мотор и увеличится потребление тока, в результате он может сильно перегреться и электроника выйдет из строя.

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

Также чем больше винт, тем больше его инерция. Если нужна маневренность, лучше выбрать винты с большим шагом или трехлопастные. Они при том же размере создают тягу в 1,2–1,5 раза больше. Понятно, что винты и скорость их вращения нужно подбирать так, чтобы они смогли создать тягу большую, чем вес аппарата.

А вот и моторчик  на 850 kV
А вот и моторчик на 850 kV

И наконец, бесколлекторные моторы. У моторов есть ключевой параметр — kV. Это количество оборотов в минуту, которые сделает мотор, на поданный вольт напряжения. Это не мощность мотора, это его, скажем так, «передаточное число». Чем меньше kV, тем меньше оборотов, но выше крутящий момент. Чем больше kV при той же мощности, тем больше оборотов и ниже момент.

Info

Более прочный материал — дюраль (Д16Т). Практически не гнется, достаточно пружинистый, и его применяют в авиации. Профили из него в ОБИ не продаются, но можно поймать на Митинском рынке на третьем этаже, на рынке ТВЦ «Строй» тоже были.

Необходимые детали и узлы

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

Помимо микроконтроллера, нам понадобятся:

  • Аккумулятор (лучше несколько) на 3.7В
  • Плата MPU-6050 (на ней установлены гироскоп и акселерометр)
  • Транзистор ULN2003A
  • Коллекторные двигатели с полым ротором 0820
  • Провода

Необходимо сделать несколько замечаний. Так как мы собираем дешевый самодельный дрон, то наш выбор пал на коллекторные движки с полым ротором (так называемые coreless motors). Они далеко не так надежны, как бесколлекторные двигатели, но зато гораздо дешевле стоят. Кроме того, можно обойтись без дополнительных контроллеров скорости.

Зато невозможно обойтись без гироскопа и акселерометра. Гироскоп необходим для того, чтобы квадрокоптер мог удерживать заданное направление движения, тогда как акселерометр используется для измерения ускорения. Без этих устройств управлять коптером было бы гораздо сложнее (если вообще возможно), так как именно они предоставляют данные для сигнала, регулирующего скорость вращения винтов.

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

Распечатанная на принтере рама окажется не только легкой, но и прочной. Но если доступа к 3D принтеру нет, раму можно заказать.

Образ docker

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

Найти контейнер можно на моем гитхабе — заходи и скачивай.

Питание

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

(24 г, макс входное напряжение до 28 Вольт, выходы по 3А). К нему будет подключен

(22 г), чтобы была возможность измерять расход мАч на аккумуляторе.

Комплект электроники камера подвес система питания весят 505 г.

Питание и контроллеры питания

Капитан подсказывает: чем больше мощность мотора, тем больше батарейка ему нужна. Большая батарейка — это не только емкость (читай, время полета), но и максимальный ток, которая она отдает. Но чем больше батарейка, тем больше и ее вес, что вынуждает скорректировать наши прикидки относительно винтов и моторов.

На сегодняшний день все используют литий-полимерные батарейки (LiPo). Они легкие, емкие, с высоким током разрядки. Единственный минус — при отрицательных температурах работают плохо, но если их держать в кармане и подключать непосредственно перед полетом, то во время разряда они сами слегка разогреваются и не успевают замерзнуть. LiPo-элементы вырабатывают напряжение 3,7 В.

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

Например, твои моторы потребляют 10 А каждый и их четыре штуки, а батарея имеет параметры 2200 мА · ч 30/40C, таким образом, коптеру требуется 4 • 10 A = 40 A, а батарея может выдавать 2,2 A • 30 = 66 A или 2,2 А • 40 = 88 А в течение 5–10 секунд, что явно будет достаточно для питания аппарата. Также эти коэффициенты напрямую влияют на вес аккумулятора. Внимание!

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

Элементы батареи объединяют последовательно или параллельно. При последовательном включении увеличивается напряжение, при параллельном — емкость. Схему подключения элементов в батарее можно понять по ее маркировке. Например, 3S1P (или просто 3S) — это три последовательно подключенных элемента.

Однако моторы подключаются к батарее не напрямую, а через так называемые регуляторы скорости. Регуляторы скорости (они же «регули» или ESC) управляют скоростью вращения моторов, заставляя твой коптер балансировать на месте или лететь в нужном направлении. Большинство регуляторов имеют встроенный стабилизатор тока на 5 В, от которого можно питать электронику (в частности, «мозг»), можно использовать отдельный стабилизатор тока (UBEC).

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

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

Смотрите про коптеры:  Как правильно выбрать FPV – очки и шлемы для управления квадрокоптером в 2020 году

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

Два силовых провода, идущих от регулятора, надо подключить к батарейке. НЕ ПЕРЕПУТАЙ ПОЛЯРНОСТЬ! Вообще, для удобства регуляторы подключают не к самой батарейке, а к так называемому Power Distribution Module — модулю распределения энергии. Это, в общем-то, просто плата, на которой припаяны силовые провода регуляторов, распаяны разветвления для них и припаян силовой кабель, идущий к батарее.

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

Так как родная камера от Raspberry делает средние по качеству фото, а также не умеет захватывать фото одновременно с видео, то она будет использоваться только для web-трансляции, а в качестве основной камеры нужна подходящая для выявления дефектов на ЛЭП. Для большей части позиций из списка выявляемых дефектов подойдут

, мультиспектральная

, двойная

и инфракрасная

. Каждая из них весит около 100 г.

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

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

Полетный контроллер

Непосредственно вращением моторов и полетом дрона управляет полетный контроллер, представляющий собой плату Pixhawk с процессором ARM на борту и прошивкой под названием PX4. Сам программный код PX4 можно скомпилировать в режиме software in the loop как раз для тестирования на персональном компьютере на Intel x84 CPU.

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

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

решения, который можно нагуглить.

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

Посмотрим на код

Мой репозиторий Fast Sense основан на материалах команды, которая разработала PX4 — самый популярный опенсорсный полетный контроллер в мире.

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

Код управления на Python совсем небольшой, я уверен, ты сможешь в нем разобраться самостоятельно. Я лишь скажу, что начинать надо с чтения функции test_posctl(self). В ней описана логика полета: дрон переводится в режим OFFBOARD, затем армится, взлетает и начинает полет по точкам (0, 0, 0), (5, 5, 2), (5, -5, 2), (-5, -5, 2), (0, 0, 2)).

После чего садится и дисармится.

Пошаговая инструкция по сборке

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

Для настройки акселерометра-гироскопа (I2C)мы рекомендуем использовать следующую библиотеку. Ни в коем случае не подключайте плату к напряжению 5В, иначе вы моментально ее испортите.

Вкратце расскажем, чем интересна плата I2C с датчиками. Она заметно отличается от обычной платы акселерометра с тремя аналоговыми выходами для осей X, Y, Z. I2C представляет собой интерфейсную шину, обеспечивающую передачу значительных объемов данных через логические цифровые импульсы.

Аналоговых выходов на плате не много, и в этом большой плюс I2C, ведь в противном случае нам бы пришлось использовать все порты на Arduino, чтобы получить данные от гироскопа и акселерометра.

Прежде чем плата I2C сможет обмениваться данными с Arduino, ее необходимо подключить к контроллеру.

Схема следующая:

  • VDD -3.3v
  • GND — GND
  • INT- digital 2
  • SCL — A5
  • SDA — A4
  • VIO – GND

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

Если на плате присутствует контакт AD0, он подключается к земле (GND).

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

Программный симулятор реального мира gazebo

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

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

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

Скетч для arduino

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

Подсоединив плату MPU-6050 к контроллеру, включите его и перейдите по ссылке.

Нас интересует скетч I2C scanner code, вернее, его код.

Скопируйте программный код, вставьте в пустой скетч, после чего запустите его. Убедитесь, что подключение установлено к 9600 (для этого запустите Arduino IDE через Tools-Serial Monitor). Должно появиться устройство I2C с адресом 0×68 либо 0×69. Запишите или запомните адрес. Если же адрес не присвоился, скорее всего проблема в подключении к электронике Arduino.

Затем нам понадобится скетч, умеющий обрабатывать данные гироскопа и акселерометра. В интернете есть множество вариантов, и найти подходящий не проблема. Скорее всего, он будет в заархивированном виде. Разархивируйте скачанный архив, отройте Arduino IDE и добавьте библиотеку (sketch-import library-add library). Нам понадобятся папки MPU6050 и I2Cdev.

Открываем MPU6050_DMP6 и внимательно просматриваем код. Никаких сложных действий производить не придется, но если был присвоен адрес 0×60, то необходимо расскоментировать строку в верхней части (ее можно найти за #includes) и написать верный адрес. Изначально таv указан 0×68.

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

Установите плату на ровную поверхность и запустите скетч MPU6050_calibration.ino (легко ищется в интернете). Просмотрите код, по умолчанию в нем указан адрес 0×68. После запуска программы у вас появится информация по отклонениям (offset). Запишите ее, она нам понадобится в скетче MPU6050_DMP6.

Все, вы получили функционирующие гироскоп и акселерометр.

Теория полета

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

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

schema
Основные маневры (слева направо): движение по прямой, крен/тангаж и рыскание

Требования к бпла

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


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

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

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

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

Для примера, готовые промышленные варианты автономных комплексов: раз, два, три, четыре, пять, шесть, семь, восемь, девять, десять, одиннадцать, двенадцать, тринадцать, четырнадцать.

Управление

Немного про радиоаппаратуру. Сейчас практически все передатчики для летающих моделей работают на частоте 2,4 ГГц. Они достаточно дальнобойные, и этот частотный диапазон не так зашумлен, как, например, 900 МГц. Для полета вообще-то достаточно четырех каналов: газ, рыскание, тангаж, крен. Ну а восьми каналов точно хватит и на что-нибудь еще.

Info

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

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

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

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

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

Adblock
detector