Arducopter под управлением Андроида. — Паркфлаер

Селфидрон — что это и как им управлять

Это тип квадрокоптеров, которые ориентированы исключительно на работу с мобилкой. У таких моделей не редкость отсутствие пульта. Поэтому устройство по стоимости дешевле в 2-3 раза привычного нам квадрокоптера.

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

Чтобы лучше понять особенности устройства, смотрите его плюсы и минусы в таблице:

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

Ликбез: Как выбрать квадрокоптер для ребенка: 6 основных критериев

Arducopter под управлением андроида.

Какие варианты подключения.

Для установки программ требуется смартфон или планшет на операционной системе Android 4.0 или выше.

К контроллеру можно подключиться по беспроводному интерфейсу двумя способами: через Bluetooth или радиомодем.

Для подключения по синезубому протоколу передачи данных потребуется подключить к контроллеру соответствующий модуль Multiwii MWC FC Bluetooth Module для беспроводной связи устройств (совместимый с Android) .

Если подключать с помощью радиомодемов Набор для FPV телеметрии — 915Mhz V1.1 , то в мобильном устройстве должен быть USB-хост, а точнее USB OTG для подключения переферийных устройств и связи с компьютером. В смартфонах и планшетах в основном устанавливают разъем микро- или мини-USB, поэтому потребуется еще переходник микро-USB OTG.

Главное отличие заключается в дальности. Для Bluetooth максимальная дальность заявлена до 10 метров, для загрузки полетного задания вполне достаточно, но для управления и получение данных телеметрии этого очень мало. Выбор в пользу радиомодемов очевиден. При использовании стандартных антенн расстояние уверенного приема данных составило около 400-500 метров, что достаточно не плохо. Свои тесты я выкладывал тут http://www.radiocopter.ru/38737/blogs/view_entry/1687/ и тут http://www.radiocopter.ru/38737/blogs/view_entry/1456/ .

На фотографии мой планшет Samsung Galaxy Tab, провод микро-USB OTG и радиомодем базовой станции на 900МГц.

Arducopter под управлением Андроида. —
 Паркфлаер

На данный момент существует две программы: DroidPlanner и AndroPilot.

Официальный сайт DroidPlanner

http://diydrones.com/profiles/blogs/droidplanner-ground-control-station-for-android-devices

Официальный сайт AndroPilot

https://github.com/geeksville/arduleader/wiki

Установить их можно через PlayMarket.

AndroPilot последнее обновление 2.0.05 от 17 февраля 2020 г.

Arducopter под управлением Андроида. —
 Паркфлаер

Перейти на страницу загрузки AndroPilot можно по ссылке

https://play.google.com/store/apps/details?id=com.geeksville.andropilot&hl=ru

DroidPlanner у меня установлен версии 1.2.0.

Arducopter под управлением Андроида. —
 Паркфлаер

Перейти на страницу загрузки DroidPlanner можно по ссылке

https://play.google.com/store/apps/details?id=com.droidplanner&hl=ru

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

Драйвера устанавливаются вместе с программой.

После успешной установки программы подключаем модем к USB порту. Если установлено обе программы то появляется окно выбора программы.

Arducopter под управлением Андроида. —
 Паркфлаер

DroidPlanner

Arducopter под управлением Андроида. —
 Паркфлаер

Хочется отметить удобное верхнее меню. Меню позволяет быстро переключаться между следующими экранами: полетное задание, полетные данные, радиоуправление, параметры, камера (управление подвесом), GCP и Chart (графики).

Масштабирование карты выполняется кнопкой Zoom. Изменить высоту (Alt) позволяет одноименная кнопка, по умолчанию высота составляет 50 метров.

Выбор режимов выполняется из меню, доступно 11 режимов. Если составлено полетное задание, в меню доступен выбор путевых точек Waypoint (WP).

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

На кнопку закреплено меню, из которого получаем к Настройкам программы, выбору типа карты (спутник, гибрид), опция «Иди за мной» и многое другое.

Arducopter под управлением Андроида. —
 Паркфлаер

Полетное задание, тут все интуитивно понятно. Ставим точки, а потом меняем их свойства.

Arducopter под управлением Андроида. —
 Паркфлаер

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

Arducopter под управлением Андроида. —
 Паркфлаер

Ранее меня спрашивали, можно ли управлять коптером без пульта радиоуправления? Да, можно, но как гласит надпись осторожно. Разработчик предупреждает об экспериментальном режиме. Чтобы настроить коптер, все равно потребуется пульт управления. Как же реализовано радиоуправления прямо с планшета, выбираем RC управление [On], появляются два синих кольца на экране, как стики на пульте управления, перемещая пальцы по экрану, меняются значения. Управление очень не привычное.

Arducopter под управлением Андроида. —
 Паркфлаер

Настройки сведены в одну общую таблицу. Предусмотрена корректировка и запись в память контроллера.

Arducopter под управлением Андроида. —
 Паркфлаер

Параметры можно представить в виде графиков. Например, визуально посмотреть высоту полета Altitude.

Arducopter под управлением Андроида. —
 Паркфлаер

AndroPilot

Arducopter под управлением Андроида. —
 Паркфлаер

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

Arducopter под управлением Андроида. —
 Паркфлаер

На основной экран можно вывести виртуальные джойстики.

Arducopter под управлением Андроида. —
 Паркфлаер

Если в DroidPlanner-е под различные задачи свой экран, то в AndroPilot-е меняется информация в правой части, а окно карты остается неизменным.

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

А вот мой тестовый полет с базовой станцией на Андроиде.

Выводы

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

RC управление, мне показалось, что добавлено из-за необходимости конкурировать с продуктами Аpple, в AndroPilot данная опция реализована лучше, но по удобству и точности управления систему радиоуправления ей не заменить.

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

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

Очень интересная опция «Иди за мной», включаем в мобильном устройстве gps и модель на заданной высоте следует за нами.

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

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

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

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

Ссылки на мои статьи о коптере: 

Мой первый коптер DJI F550. http://www.radiocopter.ru/38737/blogs/view_entry/2815/

Настройка и пробный полет моего коптера. http://www.radiocopter.ru/38737/blogs/view_entry/3263/

Другие мои статьи можно почитать в дневнике http://www.radiocopter.ru/blogs/user_feed/38737/

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


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

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

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 и медиасервера для управления несколькими дронами одновременно.
  • Резервные каналы связи и системы спасения дронов
  • Машинное зрение и лидары для избежания столкновения с препятствиями


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

Видеокамеры с трансляцией

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

Смотрите про коптеры:  Parrot Disco fpv: обзор дрона с возможностью длительного полета

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

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

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

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

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


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

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

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

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

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


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

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

sudo apt-get install vlc

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

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


Видео доступно по адресу (вместо

RPI_ADDRESS

, адрес Raspberry):

rtsp://RPI_ADDRESS:8554/live

Настройка GCS:

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

Возможные проблемы

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

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

В следующем видео показана настройка WiFi и полеты Syma X5SW.

Как правильно подключить?

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

Процесс подключения состоит из последовательности шагов.

Как управлять?

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

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

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

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

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

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

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

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


Калибровку автопилота можно сделать почти в любой 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

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

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

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

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

emlidtool info

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

Vendor: Emlid Limited
Product: Navio 2
Issue: Emlid 2020-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

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

для

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

Относительно дешевый quadcopter на arduino с управлением от телефона, планшета, пк

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

Смотрите про коптеры:  FPV приемник Eachine ROTG01 UVC USB для подключения к телефону или ноутбуку квадрокоптера с камерой и видео передатчиком OTG 5.8Ghz - установка программы TestUVC_0.5, оценка мощности и качества переда

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

Ноутбук или компьютер с Processing[/b], скачать можно от сюда. Что такое “Processing”? Вот, что пишет об этом википедия :

Processing — открытый язык программирования, основанный на Java. Представляет собой лёгкий и быстрый инструментарий для людей, которые хотят программировать изображения, анимацию и интерфейсы.Используется студентами, художниками, дизайнерами, исследователями и любителями, для изучения, прототипирования и производства. Он создан для изучения основ компьютерного программирования в визуальном контексте и служит альбомным программным обеспечением (имеется в виду то, что каждый *.pde файл визуальной оболочки Processing’а представляет собой отдельное изображение или анимацию, и т. д.) и профессиональным производственным инструментом.


Arduino Software (IDE)[/b]
Андроид-устройство[/b], которое поддерживает режимUSB-хоста[/b](проверено на MotorolaXoom.
А так же паяльник, прямые руки, ножницы.

Что надо для изготовления рамы

Рама квадрокоптер делается из бамбуковых шашлычных палочек

Крепления двигателей к раме делаются из палочек для коктейля.

Изолента- используется для крепления платы приемника, электродвигателей к раме. Нитки нужны для скрепления деталей перед склейкой. Цианакриловый клей. Резинка для крепления аккумулятора к раме.

Список электроники для квадрокоптера.

Все эти детали могут быть повреждены во время пробных запусков или во время полетов, поэтому заказывайте с запасом. Ссылки даны для примера. Есть много поставщиков.
Лопасти для вертолета
Двигатели. Я не нашел двигатели с размерами 4х7 мм на Алиэкспресс нашел вот такие. Моторы должны быть без щеточные.

Плата приемника эта плата содержит все компоненты- гироскоп, акселометр, ESC (система курсовой устойчивости), CPU который все эти компоненты объединяет. Литий полимерный аккумулятор:1 x 240mah 1S ‘LiPo. Можно использовать разные аккумуляторы с меньшей или большей емкости. Если вы решите построить октакоптер, то вам понадобиться более емкая батарея.

Список аппаратного контроля квадрокоптера.

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

Arduino DUE[/b]или аналогичный, он будет использоваться для связи вашего Андроид-устройства и A7105. Автор использовал именно эту плату Arduino потому, что она имеет USB подключенный к последовательному порту и может работать с 3.3в логикой, хотя можно применить преобразователь уровней 5-3.3в.

Макетная плата-на ней вы будете монтировать радио модуль и подключать его к Arduino. Резистор 22кОм- значение его не особо критично. Провода для соединения радио модуля. OTG переходник для вашего андроид устройства.


OTG
Hubsan-пульт дистанционного управления-это не обязательно, но удобно.

Создание каркаса.

Каркас изготавливается из бамбуковых палочек, скрепленных крест на крест с трубочками от коктейлей. Все это склеивается вместе супер клеем.
1: Распечатайте шаблон SVG в прикрепленном файле. Он сложнее, чем должен быть, но также используется для строительства октокоптера. Шаблон нужен, чтобы сделать правильный квадрат.

2. Отрежьте нитку по длине вашего предплечья.

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


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

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


6. Положите шаблон на ровную поверхность, лучше использовать стекло.

7. Разместите ваши связанные вместе палочки, как показано на фото.

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

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

9. Повторите все тоже самое для второго кронштейна.

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

11. Обрежьте палочки примерно на длину 2 см с обеих сторон.


12. Отрежьте 4 палочки по 1.5 см , склейте их вместе квадратом, особо прочная склейка не нужна, это будет кронштейн для платы и батареи питания.

Следующий этап состоит из пайки ваших 4 моторов к плате 4Х приемника. Первое, что надо — это припаять провода питания на нижнюю часть платы. Далее мы будем ссылаться на эту ориентацию (плата лежит на “спине”)

Как подключать моторы.

На Hubsan х 4 платах есть контактные площадки для подключения светодиодов и моторов. Те, что для светодиодов имеют обозначение LED, туда НЕНАДО подключать моторы. Контакты для моторов помечены ve[/b]и–ve.[/b]

Возьмите один из ваших 4 моторов с черным и белым проводами и припаяйте их кЛЕВЫМ НИЖНИМ[/b]контактам платы, белым проводом к левому контакту пары. Возьмите мотор с красным и синим проводами и припаяйте его кЛЕВЫМ ВЕРХНИМ[/b]контактам, красным проводом к левому контакту пары.. Возьмите мотор с черными и белыми проводами и припаяйте их кПРАВЫМ ВЕРХНИМ[/b]контактам, черным проводом к левому контакту. Возьмите мотор с красным и синим проводами и припаяйте его кПРАВЫМ НИЖНИМ[/b]контактам, красным проводом к левому контакту пары.


В схеме подключения белый провод это черная пунктирная линия. Провода надо закрепить каплей горячего клея. Закрепите моторы двумя полосками изоленты шириной 5мм. Не стоит особо волноваться по поводу одинакового расположения моторов по высоте. После того,как моторы закреплены, надо надеть на оси пропеллеры. Используйте белый пропеллер для «переда»с противоположной стороны от проводов батареи) и чёрный пропеллер для»зада». Это не так просто, как кажется, так. как одни лопасти сделаны для вращения по часовой стрелке, а другие , для вращения против часовой стрелки. На лопастях есть обозначения. Используйте лопасти с буквой «А[/b]» для левого верхнего и правого нижнего моторов. С буквой «В[/b]«, соответственно, для правого верхнего и левого нижнего моторов. Теперь вы можете прикрепить батарею к нижней части платы, автор использует для этой части резинку. Если у вас есть оригинальный hubsan контроллер, вы сможете поднять квадро в воздух. Если вертолёт трясёт в воздухе, значит, моторы стоят не строго вертикально. Подкладывая кусочки свернутой бумаги, можно выравнять моторы.

Сборка радиоуправления на arduino.

Этот пункт проекта расскажет как управлять вертолетом с помощью Андроид устройства,через последовательный порт Arduino.

Вам нужны 6 контактов на плате А7105. Слева GND. Справа-SDIO, SCK, SCS, GND, VCC.


Припаяйте жесткий одножильный провод, длиной 2 см, к каждому указанному выводу. Вставьте А7105 в макетную плату, так как показано на фото. Соедините выводы GND на плате arduino и два на А7105. Соедините вывод 3.3V на Arduino c выводом VCC на плате А7105. На разъеме SPI Arduino, соедините вывод MOSI с одним из выводов резистора , другой конец резистора соедините с пином SIDO на А7501.

По этой ссылке можно посмотреть где находится вывод MOSI
Вывод SCK Arduino c выводом SCK А7105 , SCS с платы А7105 на пин 10 Arduino . Синий резистор на фото не является частью проекта.

Arduino софт

Нижеследующий скетч использует хакнутую версию PhracturedBlue’s hubsan X4 и A7105 оригинал кода можно посмотреть здесь.

Подключить Ваш DUO к компьютеру через ‘Programming Port’. Скачайте зип фаил, загрузите скетч в Arduino и выгрузите его в DUO. Этот скетч обрабатывает команды с последовательного порта и преобразует их в команды платы управления вашего квадрокоптера. Этот скетч связывается с платой Hubsan по радио без последовательного порта, так что, если включите ваш коптер, а затем Arduino, и огни на коптере перестанут моргать, значит все в порядке.

Программное обеспечение для Андроид

Это программноеобеспечениедает вам простой контролер полета на базе андроид устройства. Для управления используется акселерометр и сенсорный экран вашего устройства. Планшет или телефон будет обмениваться данными с Arduino через порт USB.

Установка софта:
1 Надо разрешить отладку по USB и разрешить установку приложений не google play. Скачать приложение можно здесь
2Подключитесвое устройство через переходник OTG к Arduino, он будетзапитыватьсяот вашего телефона или планшета, поэтому проверьте, чтобы аккумулятор был полностью заряжен.
3 Подключите аккумулятор к коптеру и положите его на плоскую поверхность. Если огни перестали моргать, значит все в порядке.
4 Большой палец левой руки медленно сдвиньте по экрану, пропеллеры должны начать вращаться. Уберите палец и пропеллеры остановятся.
5 Проделайте все тоже самое, только разместите большой палец правой руки тоже на экране. Это позволит вам управлять вертолетом с помощью акселерометра, наклоняя ваше устройство вперед/назад, влево/вправо. Перемещая большой палец правой руки влево или вправо, вы будете закручивать вертолет влево или вправо вокруг оси. Если убрать правую руку с экрана, вертолет должен выровняться, не зависимо от положения акселерометра. Попробуйте. Перемещайте палец левой руки до тех пор, пока вертолет не взлетит. Помните — если убрать оба пальца- моторы остановятся.

Смотрите про коптеры:  Инструкция по эксплуатации квадрокоптера Syma X5UW на русском языке

Программное обеспечение для ПК
В архиве программа, которая управляет коптером через последовательный порт. Управляется коптер с помощью курсорных кнопок, и кнопок “A”/”Z”- дроссель. Автор сделал попытку заставить следовать коптер за объектом определенного цвета, но это пока не работает. Обещал выкладывать обновления.

По для управления дроном на пк и планшетах


Для управления БПЛА используются специальные программы GCS (Ground Control Station). Далее по тексту я буду использовать эту аббревиатуру. Мне по душе пришлась

, мультиплатформенная (Windows, Linux, MacOS, iOS, Android) GCS с открытым исходным кодом, которая стала частью проекта

. Но есть и альтернативы, бесплатные и коммерческие:

(DroidPlanner) для Android,

(iOS),

(iOS). А также консольная

Подключение через wifi

Предусмотрены три варианта, как подключить квадрокоптер к телефону:

Если есть возможность подсоединиться к пульту, — это самый простой вариант. Желательно им и воспользоваться. В пульте установлен более мощный приемник, с радиусом действия до 3 км (как DJI Mavic Mini). Если же подключить Wi-Fi к дрону через мобилку, девайс может отдалиться максимум на 30-50 метров. Сами понимаете, разница очевидна.

Для тех, кто интересуется, как работает Wi-Fi коннект: оба девайса объединяются в общую локальную сеть, где телефон передает данные по управлению дроном, а квадрокоптер принимает и мгновенно отзывается на них. В свою очередь, на мобильном видно, что снимает камера девайса.

Такая система контроля подойдет как для тех, кто только учится управлять квадрокоптерами (часто в дешевых моделях нет пульта). И для тех, кто хочет улучшить опыт съемок.

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

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

В тему: ТОП-3 лучших производителей дронов — рейтинг производителей квадрокоптеров

Синхронизация смартфона с камерой дрона

Наглядно продемонстрируем процесс подключения мобильного телефона к беспилотному аппарату с видеокамерой Syma X5SW. Данная модель позволяет записывать видео с разрешением 640×480 точек (30 fps). Также с ее помощью можно делать снимки, которые будут иметь такой же формат. Связь обеспечивается при помощи антенны, которая встроена в беспилотное устройство.

В процессе использования дрон может отлетать от пульта управления (в нашем случае это телефон) на расстояние более 100 метров. Однако, чтобы трансляция видеопотока не прерывалась, нужно соблюдать дистанцию от 30 до 40 метров. Производитель заявляет, что трансляция выполняется без задержек, в реальном времени. При этом опытные пользователи отмечают небольшое торможение (несколько секунд).

Первый шаг – пользователь должен загрузить специальное приложение SYMA FPV. На упаковке беспилотника имеется QR-код, с помощью которого можно загрузить нужную утилиту за несколько секунд. Программа рассчитана на работу только в ОС Android. Версия операционной системы должна быть не ниже 4.1.

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

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

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

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

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

Чтобы 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

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

Управление дроном с помощью пульта или смартфона на выбор пользователя

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

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

1. Использование виртуальных кнопок внутри интерфейса программыМобилка выступает заменой джойстика.2. Настройка режимов полета и тонкие подстройки камерыТелефон заранее программирует автопилот «рейса», где можно проработать часто используемые или сложные полеты.3.

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

Четыре совета для начинающих.

  1. Не спешите сразу взимать в небо. Первые несколько полетов лучше провести на высоте 2-3 метра.
  2. Первые разы лучше запускать дрон подальше от высоток и деревьев — чтобы девайс случайно не врезался в них.
  3. Если приложение предлагает включить виброотдачу, следует этим воспользоваться. Прочувствуете управление через пульсацию.
  4. Для съемки в полете на превью выставлять минимальное качество изображения. FullHD видео сохраняется на microSD флешку, а вот «пиксельное» превью уменьшит задержку изображения. 

Читайте: 16 уникальных способов применения квадрокоптеров

Установка образа ос на sd-карту

Для нормальной работы автопилота крайне рекомендуется использовать “быстрые” SD-карты (класс 10). Медленные карты памяти не успевают сохранять логи автопилота даже на небольшой частоте, в результате чего они получаются кривыми или вообще не пишутся. Свидетельством этого может быть ошибка “

No IO heartbeat

Установка связи с дроном в локальной сети

Остановим скрипт (

Ctrl C

) и снова запустим его в таком виде:

mavproxy.py --master=udp:127.0.0.1:14550 --out=tcpin:0.0.0.0:5762


С дополнительным параметром

—out=tcpin:0.0.0.0:5762

MAVProxy будет слушать порт 5762 на входящие TCP соединения от GCS. Как только GCS соединиться, пакеты с данными начнут перемещаться между дроном и GCS. Попробуем подключиться с ПК:

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

Часто возникающие сложности и их решения: таблица

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

Основные траблы и их решения собраны в таблице:

Проблема

Решение
Программа перестала работатьВыключите, а потом включите её в телефоне. Закройте приложение, разавторизируйтесь, а потом зайдите снова. 
 
Если не помогло, проделайте те же манипуляции с девайсами. Попробуйте выключить, а потом снова включить wi-fi на обоих устройствах.
 
Если и это не спасло —  удалите и переустановите приложение
Некорректная работа программы и фризы (замирание) в управленииНужно почистить телефон: удалить мусор, избавиться от куки и освободить место в памяти самого смартфона. 
 
Также следует проверить версию прошивки и драйверов на актуальность. Сделать это можно в настройках телефона (для мобилки) и в настройках внутри приложения (для коптера)
Дрон не коннектится к мобилкеНужно проверить Wi-Fi модуль. Если проблема в нем — следует выключить/включить телефон. 
 
Кому не помогло, следует сбросить мобилку к заводским настройкам и загрузить свежие драйвера. 
 
Если и это не помогло, рекомендуем обратиться в сервисный центр как летательного аппарата, так и телефона
Неисправности квадрокоптераПеред каждым полетом осматривайте корпус: нужно проверять целостность обшивки, отсутствие загрязнителей, пыли, застрявших веток на фюзеляже и другого мусора. 
 
Простые проблемы по типу веток или грязи — решайте самостоятельно. Если трабл серьезный, обратитесь в сервисный центр. Специалисты помогут решить даже самую серьезную проблему

Только лучшее: ТОП-5 квадрокоптеров (дронов) DJI 

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

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

Adblock
detector