DIY автономный дрон с управлением через интернет / Хабр

Что такое fpv?

First-person view — вид от первого лица.

First Person View (сокр. FPV) — вид от первого лица. Такой аббревиатурой называют одно из направлений радиоуправляемого авиамоделизма. В данном случае осуществляется не только управление авиамоделью по радиоканалу системы радиоуправления, но и приём с модели видео изображения по дополнительному видео-радиоканалу в режиме реального времени. Пилот, управляющий авиамоделью, видит изображение, получаемое с видеокамеры при помощи устройств отображения: мониторов, телевизоров, видео-очков, видео-шлемов.

Разделяют две подгруппы направления: Low Range FPV и Long Range FPV. В первом случае используют стандартный набор для FPV, включающий маломощный передатчик видеосигнала, позволяющий летать в зоне действия стандартного передатчика радиоуправления. Для дальних полетов используют усилители мощности или более мощные передатчики как для управления моделью, так и для передачи с неё видеосигнала.

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

Существует множество разных очков и две основных технологии передачи видео. Аналоговая и цифровая технология.

Первое видео, в котором пилот тренируется на гоночном квадрокоптере, видно, что такое аналоговая система FPV. Картинка похожа на ту, что мы видели в детстве на аналоговом ТВ. Она может быть с кучей помех, но при этом у нее минимальный латенси (нет лагов), с дальностью картинка постепенно шумит все больше и больше.

Цифровое FPV пока еще сырая технология, но у меня никаких нареканий нет. Из минусов которые могут быть, можно очевидно выделить — лаги или даже фризы (зависания картинки). Но такие системы как DJI FPV, местами даже более пробивные через стены и на расстояние чем аналоговые.

DIY автономный дрон с управлением через интернет / Хабр
(DJI FPV)

Более подробно рассмотрим комплектующие для FPV в следующих статьях этого цикла.

DJI Phantom 4 – выдающиеся технологии

Недавно выпущенный DJI Phantom 4 оправдал шумиху, которая возникла вокруг него. Время полета увеличено до 28 минут, что почти неслыханно для беспилотника. Он поставляется с расширенной технологией обхода препятствий, которая может быть очень полезна в определенных условиях, когда вы используете режим «следуй за мной». Он быстр: 20 м/с против 16 м/с у Phanom 3.

Самое большое различие между Phantom 3 и Phantom 4 заключается в том, что новая модель оснащена интеллектуальной камерой. Дрон может автоматически создавать плавные трекинговые снимки, облетать препятствия и реагировать на окружающую среду.

Избегание препятствий может быть огромным преимуществом при использовании режима «следуй за мной», и эта способность отличает Phantom 4 от большинства дронов в этом списке.

Одним из самых больших преимуществ беспилотника Phantom 4 является увеличенное время полета, которое позволяет камере дольше отслеживать объект и создавать больше снимков или более длинное видео.

3DR IRIS

3DR IRIS является предшественником SOLO. Стоит он немного дешевле, чем SOLO. Поставляется без камеры, но квадрокоптер совместим с оборудованием GoPro.

IRIS имеет расширенный режим Follow Me, а все параметры можно настроить с помощью планшета. Он также совместим с любым устройством Android с поддержкой GPS. Помимо следования за предметом, интеллектуальная технология управляет подвесом, чтобы уменьшить дрожание и делать четкие фотографии и видео.

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

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

Этот квадрокоптер с поддержкой GPS предназначен для начинающих, которым нужна функция «Следуй за мной». Он намного более доступен, чем другие дроны в этом списке, что делает Hubsan H501S X4 отличным стартовым беспилотником для начинающих пилотов.

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

AirDog – прекрасно подойдет для спусков и водных видов спорта

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

Насколько нам известно, ни один из других дронов в этом списке не способен следовать по высоте. DJI Phantom 4 и DJI Mavic Pro могут следить за вами, набрав высоту, что не так уж и полезно для катания на горных лыжах.

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

Хотя AirDog официально не является водонепроницаемым, вы можете без проблем выбросить его в воду. Контроллер на запястье защищен от влаги, поэтому вы можете управлять дроном, находясь в воде на серфинге, лыжах и т.д.

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

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

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

Когда дело доходит до функции следования, AirDog способен выполнять две вещи. Он может остаться позади объекта или лететь перед объектом.

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

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

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

Mavproxy

MAVProxy уже установлен в образе Navio. Его также можно

и на ПК (Windows, Linux, MacOS) для дальнейшего общения с автопилотом в консольном режиме.

Убедившись, что Ardupilot работает, запустим на Raspberry скрипт MAVProxy такой командой:

mavproxy.py --master=udp:127.0.0.1:14550

Параметр

—master=udp:127.0.0.1:14550

задает для скрипта источник данных. Это локальный UDP-порт, который был прописан в файле конфигурации Ardupilot. После запуска команды, MAVProxy соединиться с этим портом и выведет на экран сообщения автопилота, примерно как у меня:

pi@navio:~ $ mavproxy.py --master=udp:127.0.0.1:14550
Connect udp:127.0.0.1:14550 source_system=255
Failed to load module: No module named adsb. Use 'set moddebug 3' in the MAVProxy console to enable traceback
Log Directory: 
Telemetry log: mav.tlog
Waiting for heartbeat from 127.0.0.1:14550
 MAV> online system 1
STABILIZE> Mode STABILIZE
fence breach
GPS lock at 0 meters
APM: APM:Copter V3.5.5 (88a1ecdd)
APM: Frame: UNKNOWN
APM: PreArm: RC Roll not configured
APM: PreArm: Compass not calibrated
APM: PreArm: 3D Accel calibration needed
APM: PreArm: check firmware or FRAME_CLASS
APM: PreArm: Throttle below Failsafe

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

arm throttle
takeoff 20


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

Аккумулятор

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

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

Бортовая электроника

Основной компонент, который мы разрабатывали самостоятельно, — плата стабилизации. Изначально она была основана на платформе Arduino Uno, потом заменили на более мощную Due, что позволило увеличить частоту ПИД-регуляторов с 40Гц до 66.(6)Гц.

Пропеллеры коптера приводятся в движение компактными бесколлекторными двигателями в связке со стандартными контроллерами оборотов — ESC. Мы используем ESC с изменённой прошивкой.

Для питания всей системы используется литий-полимерный аккумулятор (3S). Из соображений безопасности мы решили сделать систему мониторинга напряжения на аккумуляторе. В штатном режиме использования аккумуляторов система ведёт себя достаточно стабильно. Однако на начальных этапах работы мы наблюдали эффекты, вызванные неоптимальным использованием батарей:

  • Вздувшиеся аккумуляторы. Причина в перезаряде и длительном хранении разряженных аккумуляторов. Производители рекомендуют не разряжать силовые аккумуляторы ниже значения 3,3В на каждую банку батареи, что в нашем случае даёт минимальное допустимое напряжение в 9,9В.
  • Выключение моторов при низком напряжении. Это особенность реакции большинства прошивок ESC на низкое напряжение, которая может привести к серьёзной аварии — в первый момент выключается только один мотор, остальные продолжают работать.

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

Для измерения динамических параметров используются следующие датчики:

  • 6-осевой акселерометр-гироскоп InvenSense MPU-6050
  • 3-осевой компас Honeywell HMC5883L

В mydrone предусмотрены 7 вариантов слежения за объектом.

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

Обрита

Дрон будет совершать облет объекта съемки.

Зависание

Мультикоптер будет стараться сохранить минимальную дистанцию от объекта.

Тень

MyDrone будет следовать в одном направлении от объекта съемки, при этом сохраняя объект на фокусном расстоянии.

FOLLOW-ТРЕК:


Дрон будет летать против цели с той же скоростью и направлением.

Селфи

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

Линия

Дрон будет летать вдоль заданной трассы с камерой сосредоточенной на цели.

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

Разработчики представили 3-х осевой стабилизатор камеры собственного производства, который способен обеспечить точность стабилизации ± 0,02 и 2000 коррекций в секунду, что делает высокоскоростную аэрофотосъемку гладкой и стабильной. Камера входит в комплект, но все крепления подойдут так же для GoPro.

Смотрите про коптеры:  Комментарии Квадрокоптер AOSENMA X5Pro FPV белый в интернет магазине DNS.

Характеристики камеры

  • 720p @ 120fps
  • 1080p @ 60 / 30FPS
  • 1440p @ 30FPS
  • 2.5K@30FPS
  • 4K @ 24fps

Характеристики MyDrone:

• Вес: 1370г• База: 475мм• Максимальная скорость: 80 км/ час (ограничено программно)• точность зависания: вертикальный ± 0.5м, горизонтальная ± 1м• Пропеллеры: 25,4 см(10inch)• Двигатели: Безколекторные 2216• GPS: & Глонасс• Барометр: встроенный• 3-осевой гироскоп:

Встроенный• 3-осевой акселерометр: Встроенный• 3 оси компаса: Встроенный• Емкость батареи: 11.1V 6000mAh• Время полета: 10-22 минут в зависимости от скорости полета• Дальность связи: 1км• Режимы следования: 7 смарт-режимов • Максимальная дальность работы модуля следования: до 400 м.• Стоимость от 699$ до 1.399$ в зависимости от комплектации.

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

Видео через интернет

image

Для ретрансляции видео установим на сервер VLC плеер:

sudo apt-get install vlc

После установки, запустим его как ретранслятор c UDP порта 5001 в RTSP канал

SERVER_IP:8554/live

cvlc -vvv udp://@:5001 --sout '#rtp{sdp=rtsp://:8554/live}' :demux=h264

На борту запустим видеотрансляцию с камеры на сервер по UDP (вместо

SERVER_IP

адрес сервера):

gst-launch-1.0 rpicamsrc bitrate=1000000 ! video/x-h264,width=640,height=480,framerate=25/1 ! h264parse  ! udpsink host=SERVER_IP port=5001


Адрес потока теперь можно использовать как источник видео в настройках GCS или открыть в любом плеере, поддерживающим этот протокол.

Теперь можно спланировать маршрут полета и запустить дрон через интернет, предварительно его включив, например, с помощью помощника по телефону.

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

Темы для последующих публикаций:

  • Варианты автоматической зарядки дрона в своем скворечнике и на каком из них остановился я.
  • Реализация web-based GCS с помощью MAVProxy, NodeJS, socket.io и медиасервера для управления несколькими дронами одновременно.
  • Резервные каналы связи и системы спасения дронов
  • Машинное зрение и лидары для избежания столкновения с препятствиями

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

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

Проверим как работает видеотрансляция в сети 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:

https://www.youtube.com/watch?v=lg7PXaCgQUs

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

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

Чтобы дрон умел висеть на одном месте и не “плавать”, одного только 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, у него огромное сообщество пользователей как хобби, так и профи, длинный список поддерживаемых “из коробки” датчиков и расписанные планы на 2021-2021 годы. За это время он успел перерасти в проект 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 г).

DIY автономный дрон с управлением через интернет / Хабр

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

Грабли

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

С одной стороны, существует минимальная мощность, которую уменьшить нельзя, или моторы просто остановятся. С другой, уменьшение мощности может быть необходимо для правильной работы алгоритма. Если мощность (throttle) уменьшить слишком сильно, ПИД может «зашкаливать» в нижнюю сторону. Чтобы решить эту проблему, мы ограничиваем доступные пилоту мощности.

DIY автономный дрон с управлением через интернет / Хабр
Другая опасность — влияние побочных вибраций от моторов на DIY автономный дрон с управлением через интернет / ХабрDIY автономный дрон с управлением через интернет / Хабр

Итак, начнем


А начнем мы, пожалуй, с одного из самых распространенных на сегодняшний день квадрокоптеров от DJI — Phantom Vision 2.

Всего «Фантомов», из тех, что я видел в продаже, существует три модификации:

  • — FC40
  • — Vision 2
  • — Vision 2

FC40 — это первая версия «Фантома», нам она мало интересна, т.к. устарела морально, имеет маленькую батарейку, камеру попроще (в сравнении с Vision 2 и 2 ), слабенький видеолинк и прочие мелочи, заметно улучшенные в версии Vision 2. Vision 2 это по сути тот же самый Vision 2, но с камерой, которая на стандартном подвесе может снимать вертикально вниз и увеличенной (по заверениям самих DJI) дальностью приема видеосигнала (Поскольку лично не использовал 2 — утверждать этого не могу).

Поскольку Vision 2 еще не сильно распространен, а FC40 уже устарел — наш выбор падает на Vision 2. Производитель предлагает это чудо инженерной мысли за скромные 999$ или за 1060$ с дополнительным аккумулятором.

Смотрите про коптеры:  ▷ Купить квадрокоптеры с камерой с E-Katalog - цены интернет-магазинов России на квадрокоптеры с камерой - в Москве, Санкт-Петербурге

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

На анбоксинге останавливаться не будем, этого добра валом в гугле и на ютубе, единственное, что меня удивило — отсутствие какой-либо инструкции, кроме небольшого буклета, суть которого сводится к «Достать из коробки, включить, лететь. Руки в пропеллеры не сувать». Зайдя на сайт DJI я обнаружил довольно плотный мануал аж в 28 страниц (Язык, увы, английский, но мне это роли не играет).

Если это Ваш первый дрон, и если у Вас нету практического опыта — распечатайте, положите в коробку. Пригодится. На первых порах его мне порой не хватало «в поле».

Чуть забегая вперед, скажу, что на Vision 2 установлен автопилот Naza-M. Продается он также отдельно, например если Вы решили собрать свой собственный мультиротор, но к написанию собственных «мозгов» еще не готовы. К слову, Naza-M не ограничивается квадрокоптерами, а также поддерживает и другие компоновки (трикоптеры, гексакоптеры и даже октокоптеры). Но это уже совсем другая история, и в этой статье мы на этом останавливаться не будем.

Калибровка датчиков и настройка параметров автопилота


Калибровку автопилота можно сделать почти в любой GCS. В документации Ardupilot она

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

Quad X

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

Осталось откалибровать акселерометр и компас.

Для того, чтобы Ardupilot видел и учитывал данные с внешних датчиков, установим необходимые параметры:

Для PX4Flow (калибровка самого датчика и обновление прошивки)

FLOW_ENABLE = 1 (Enabled)FLOW_ADDR = 0 (0 = вариант для стандартного адреса 0х42)

Для лазерного высотомера VL53L0X (инструкция)

RNGFND_TYPE = 16 (VL53L0X)RNGFND_ORIENT = 25 (ориентация дальномера вниз)RNGFND_ADDR = 41 (I2C-адрес в десятичном виде). Адрес датчика по-умолчанию 0x29, что в десятичном виде = 41.RNGFND_SCALING = 1RNGFND_MIN_CM = 5RNGFND_MAX_CM = 120RNGFND_GNDCLEAR = 15 (расстояние от датчика до поверхности, когда дрон стоит на земле)

Для IRLock (подробная инструкция, wiki IR-Lock)

PLND_ENABLED = 1PLND_TYPE = 2PLND_BUS = 1

Для сонара переднего обзора (инструкция)

Квадрокоптер, зачем?

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

«Обычные», потребительские квадрокоптеры, лишены веселья. Сейчас конечно уже появляются разные конфигурации, но если взять самые популярные, например — DJI Mavic, то вопросов к качеству и выполняемым им задачам нет. Но это не то. У себя между ног, пролелеть не получится, cделать мертвую петлю или хотя бы бочку не выйдет, лететь со скоростью 120км , не знаю, может? Думаю нет. Я уже не говорю про дальность и FPV.

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

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

MinChan FPV готовится к гонке (это не ускоренное видео)

Фристаил

Cinematic FPV съемка

Классные каналы

Joshua Bardwell — от того как паять, до как летать и настраивать коптер. Много технической инфы.Rotor Riot — канал команды Rotor Riot.Mr Steele — фристаилJohnny FPV — FPV сьемка

Русскоязычные каналы:Mustfly — FPV фристайл и гонки, в том числе и на маленьких «комнатных» микро квадрокоптерах. Канал ведет команда FPV энтузиастов из Москвы.Сергей Белаш — настоящие FPV приключения, множество интересных мест в России и мире, природа и заброшки с необычного ракурса.

Компоновка

DIY автономный дрон с управлением через интернет / Хабр

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

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

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

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

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

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

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

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

Матчасть


Определим невязку — разницу между требуемым и реальным значением некоторой величины:

DIY автономный дрон с управлением через интернет / Хабр

 — требуемое значение величины (угол с джойстика),

DIY автономный дрон с управлением через интернет / Хабр

 — текущее значение величины (угол с датчика).

Зададим момент сил для угла DIY автономный дрон с управлением через интернет / Хабр

где

DIY автономный дрон с управлением через интернет / Хабр

 — пропорциональная,

DIY автономный дрон с управлением через интернет / Хабр

 — интегральная,

DIY автономный дрон с управлением через интернет / Хабр

 — дифференциальная составляющие.


Знак минус говорит о том, что при положительных

DIY автономный дрон с управлением через интернет / Хабр

воздействие направлено против отклонения.

В чём смысл этой формулы? Напишем уравнение динамики, положив DIY автономный дрон с управлением через интернет / ХабрDIY автономный дрон с управлением через интернет / Хабр

 — момент инерции.

Для простоты уберём интегральную составляющую (DIY автономный дрон с управлением через интернет / ХабрDIY автономный дрон с управлением через интернет / ХабрDIY автономный дрон с управлением через интернет / Хабр

где

Т. е. чем больше пропорциональная составляющая, тем более «резкой» будет реакция на воздействие (больше амплитуда). Чем больше дифференциальная составляющая, тем быстрее будет происходить затухание (больше декремент).

Из модели затухающих колебаний получаем выражение для коэффициента затухания:

Из возможных решений уравнения нам подходит режим, близкий к критическому (граница апериодичности,

DIY автономный дрон с управлением через интернет / Хабр

) — нет отрицательного «перелёта» графика, переходный процесс короткий. Как видно, критический режим задается всего одним соотношением на коэффициенты ПИД-регулятора.

Интегральная составляющая устраняет статическую ошибку. Пусть невязка DIY автономный дрон с управлением через интернет / ХабрDIY автономный дрон с управлением через интернет / ХабрDIY автономный дрон с управлением через интернет / Хабр

Более подробный анализ уравнения ПИД-регулятора можно найти в других статьях: раз, два.

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

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

. Видимо, не спроста. В документации 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 г.

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

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

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

emlidtool info

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

Vendor: Emlid Limited
Product: Navio 2
Issue: Emlid 2021-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 будет транслировать телеметрию (пакеты

) в локальный UDP-порт 14550. Далее, скрипт

(описание ниже) будет забирать оттуда телеметрию и передавать в GCS или скрипт, а также отправлять в обратном направлении пакеты с командами.

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

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

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

Обновление дистрибутива и установка необходимых пакетов

Открываем SSH-клиент и соединяемся с Raspberry (локальный IP-адрес navio вместо

RASPBERRY_IP_ADDRESS

ssh pi@RASPBERRY_IP_ADDRESS


Стандартный пароль:

raspberry

. В первую очередь необходимо расширить файловую систему ОС на весь объем SD-карты:

sudo raspi-config --expand-rootfs

и перегрузиться:

sudo reboot


После перезагрузки, соединяемся еще раз и обновляем дистрибутив:

sudo apt-get update && sudo apt-get dist-upgrade -y

Устанавливаем дополнительные пакеты:

sudo apt-get install autoconf automake libtool pkg-config libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libraspberrypi-dev gstreamer1.0-tools gstreamer1.0-plugins-good gstreamer1.0-plugins-bad

и компилируем обертку

Смотрите про коптеры:  Мини LF606 складной Wifi FPV 2 4 GHz 6 осевой RC Мультикоптер беспилотный

для

и родной камеры Raspicam:

Первая авария


Слишком большая дифференциальная составляющая на практике приводит к автоколебаниям, чего не должно быть в теории. Почему? Уберём все составляющие, кроме дифференциальной, и решим уравнение:

DIY автономный дрон с управлением через интернет / ХабрDIY автономный дрон с управлением через интернет / Хабр

т. е. величина

DIY автономный дрон с управлением через интернет / Хабр

превращается в линейную комбинацию

DIY автономный дрон с управлением через интернет / Хабр

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

DIY автономный дрон с управлением через интернет / Хабр

коэффициенты линейной комбинации могут быть такими, что возникнут незатухающие автоколебания.

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

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

Стоит сказать, что реальная коррекция в почти горизонтальном положении — около 1–2 попугаев процентов мощности моторов (полётная мощность около 60%).

DIY автономный дрон с управлением через интернет / Хабр
Рассмотрим решение уравнения второго порядка (1), которое в одном из случаев является затухающей синусоидой.

На практике действительно получается что-то похожее (пример справа). Для демонстрации коэффициенты специально ухудшены для увеличения времени затухания. Оригинальную прошивку ESC пришлось заменить, т. к. она вносила существенную задержку, из-за которой математическая модель плохо описывала реальную систему.

DIY автономный дрон с управлением через интернет / Хабр
Поскольку DIY автономный дрон с управлением через интернет / Хабр

Первый полет


И так, если батареи заряжены, а оператор не хочет есть, пить, спать и в туалет — можно готовиться к первому вылету!

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

Включаем комплекс в следующем порядке:

  1. Включаем пульт
  2. Включаем range extender
  3. Включаем сам квадрик

Теперь надо дать «Фантику» минуту-полторы, чтобы он поймал достаточно спутников и инициализировал Wi-Fi.Я не советую совершать полеты, если количество спутников, пойманных перед взлетом, меньше шести.

Если спутники нашлись, «зад» квадрика горит зеленым, можно подключиться по Wi-Fi к открытой точке доступа range extender’a.Помимо видеопотока в реальном времени, программа показывает кучу полезной информации, такой как: уровень заряда батареи, количество пойманных спутников, дистанция до квадрика (правда, увы, в футах), высота квадрика (тут тоже увы, она весьма примерная).

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

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

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

Во время полета нужно всегда следить за уровнем заряда батареи. Первое предупреждение поступает при заряде батареи в 30%. При заряде в 15% квадрик начнет сажаться сам, причем, как говорилось ранее — «плавно» — это почти камнем вниз. Лично я стараюсь никогда не доводить заряд до критической отметки, и на 32-31% совершаю посадку.

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

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

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

, двойная

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

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

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

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

Программное обеспечение

DIY автономный дрон с управлением через интернет / Хабр

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

В качестве динамического датчика мы использовали MPU-6050 из-за его вычислительных возможностей. Встроенный процессор (DMP) способен частично обрабатывать данные с датчиков, что позволяет разгрузить центральный контроллер. Но оказалось, что надёжных библиотек для работы с этим устройством под Arduino не существует.

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

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

его размер 1024, что не делится на 42 — размер пакета. Поэтому, когда буфер переполняется, в начале FIFO находится часть какого-то постороннего пакета. Иными словами, начиная с определенного момента структура нарушается: начало FIFO не совпадает с началом пакета, и считать корректные данные невозможно.

Составляющие аппаратуры на которые стоит обратить внимание

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

Первое это прошивка. Существует open source проект, который называется OpenTX.

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

DIY автономный дрон с управлением через интернет / Хабр
(один из экранов OpenTX)

Стоит обратить внимание на переключатели и стики. Количество переключателей — дело сугубо индивидуальное, так как переключателей для квадрокоптера много не нужно. В моем случае я использую всего два. Один для арминга (аля включение двигателей) и включение FPV модуля.

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

«Простые» стики используют потенциометры для определения положения стика. Более продвинутые стики используют датчики на основе эффекта Холла. Такие стики более точные и плавные в ходе. В случае с Taranis Q X7, стики можно купить отдельно и заменить. Но есть версия Q X7, в которой уже стоят такие стики.

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

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

DIY автономный дрон с управлением через интернет / Хабр
(Taranis с TBS Crossfire модулем)

Телеметрия

Дистанционное управление реализовано в двух режимах (для обеспечения более гибкого процесса разработки):

  1. С помощью модулей xBee Pro в конфигурации «коптер  ПК».
  2. С помощью выделенной радиочастоты (2.4ГГц) в конфигурации «пульт ДУ ↦ коптер».

Помимо управления через пульт ДУ происходит пересылка критических данных между коптером и ПК в режиме реального времени, для чего используются xBee Pro и приложение собственной разработки (см. скриншот). На компьютере можно видеть значение углов и угловой скорости, напряжение на аккумуляторе, мощность двигателей.

Данные, пересылаемые между коптером и ПК:

  • ПК ↦ Коптер: канал управления (ПК/пульт ДУ), мощность моторов, настройка для включения/выключения стабилизации, коэффициенты ПИД и ограничения;
  • Коптер ↦ ПК: углы, угловая скорость, компоненты DIY автономный дрон с управлением через интернет / Хабр, DIY автономный дрон с управлением через интернет / Хабр, DIY автономный дрон с управлением через интернет / Хабр, данные с джойстика (мощность 3 угла), мощности моторов, напряжение на аккумуляторе.

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

Телеметрия через интернет

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

Для MAVProxy подойдет самая минимальная конфигурация, но так как у меня этот же сервер будет заниматься ретрансляцией видео, то я выбрал вариант с чуть большей памятью (одно ядро и 1Гб памяти, Ubuntu 18.04). Для минимальной задержки в прохождении данных между бортом и GCS, сервер должен располагаться в максимальной географической близости к дрону и GCS.

Устанавливаем MAVProxy на сервер. Сначала зависимости:

sudo apt-get install python-dev python-opencv python-wxgtk3.0 python-pip python-matplotlib python-pygame python-lxml python-yaml

а потом и сам скрипт через PIP:

sudo pip install MAVProxy

пропишем путь:

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

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


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

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

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

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

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

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

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

Adblock
detector