Прошить квадрокоптер —

Прошить квадрокоптер — Машинки

Advanced pilots’ mods

Внимание! Данные параметры можно менять только в том случае, если вы понимаете, что делаете. Если бездумно тут что-то изменить — можно сломать свой дрон.

Manual mode (allows flips and barrel rolls)

Change your “Sport” mode -switch to unassisted “Manual” mode. Fly only on open-area you are confident to train on. Idle is 50% and the drone will climb if you don’t respond with throttle down. This is essentially a RC-helicopter mode which traditionally have no FC/IMU and is solely defendant on pilot skill.

When switching back to “Normal” mode, make sure that the drone is right way up and is not tipped over it’s horizontal or vertical axis. Failing to abide this will calibrate your IMU with the drone wrong way up and it will not automatically flip over.

Parameter-KeyDescriptionValueNotes
g_config_control_control_mode[1]“Switched”0 = Manual Mode (GPS position and Altitude Stabilization are disabled)
g_config_control_control_mode[2]“Normal”77 = PGPS Mode (Normal)

1)Warning: Do not change brake_sensitive_gain = 130 to 70 like it says on some websites unless you are a very confident pilot, it takes up to 3 metres(9 feet) to stop

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

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

Max altitude

Увеличение высоты полета

Parameter-KeyDescriptionValue
g_config_flying_limit_height_limit_enabledEnabled? Y=1/N=2 Not visible in Assistant on recent FWs2
g_config_flying_limit_limit_height_abs_without_gpsMaximum local limit with no GPS signal.3000
g_config_flying_limit_limit_height_absMaximum local limit.3000
g_config_flying_limit_limit_height_relMaximum limit relative to takeoff?3000

Obstacleavoidance

Увеличение дистанции на которой дрон будет облетать препятствия

Parameter-KeyValue
g_config_control_avoid_atti_range23
g_config_avoid_obstacle_limit_cfg_safe_dis3

Remote- mode switch

Parameter-KeyDescriptionFactory ValueNotes
g_config_control_control_mode[1]“Switched”80 = Manual Mode (GPS position and Altitude Stabilization are disabled)
1
= GPS — no noticed difference
2 = GPS — no noticed difference
3 = ATTI Mode (Altitude Stabilization)
4 = GPS mode indicated, sport mode speed for some reason
5 = GPS — no noticed difference
6 = Beginner
7 = PGPS Mode (Normal)
8 = Sport Mode
9 = FARM Mode (Altitude stabilization with RTH capability)
10 = GPS — no noticed difference
11 = GPS — no noticed difference
12 = Tripod mode
g_config_control_control_mode[2]“Normal”7Same notes as above
g_config_control_control_mode[0]“Tripod”12Same notes as above. Third position on some RCs like Mavic

Sport

Увеличение производительности Sport режима

Parameter-KeyDescriptionValue
g_config_mode_sport_cfg_tilt_atti_rangeMaximum tilt(tilt=speed)45
g_config_mode_sport_cfg_vert_vel_upMax speed you gain altitude8
g_config_mode_sport_cfg_vert_vel_downMax speed you lose altitude-10
g_config_mode_sport_cfg_vert_acc_upMax speed you accelerate in gaining altitude8
g_config_mode_sport_cfg_vert_acc_downMax speed you accelerate in losing altitude-10

Wind notices

Убирает предупреждение о сильном ветре в приложении GO App

Смотрите про коптеры:  Радиоуправляемые машины для дрифта на пульте управления - купить недорого - 2 страница
Parameter-KeyValue
g_config_air_est_big_wind_level125
g_config_air_est_big_wind_level225

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

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-полетов в ручном режиме между препятствиями.

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


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

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

Проверим как работает видеотрансляция в сети 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 весьма трудоемкий процесс, то для нескольких потребителей видео лучше использовать внешний сервер (описание ниже).

Какие уже были обновления?

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

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

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

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

для

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

Обновление прошивки dji mavic air 2 с помощью приложения dji fly

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

  1. Зарядите аккумулятор Mavic Air 2, пульта управления и телефона, как минимум до 70%;
  2. Подключите телефон к пульту дистанционного управления;
  3. Включите дрон Mavic Air 2 и пульт;
  4. Убедитесь, что пульт подключился к квадрокоптеру;
  5. Подключите ваш телефон к интернету через WiFi;
  6. Загрузите и установите последнюю версию приложения DJI Fly;
  7. Откройте приложение DJI Fly, оно автоматически проверит наличие новой прошивки;
  8. Если доступна новая версия прошивки Mavic Air 2, в приложении появится подсказка;
  9. Нажмите «Обновить» (Update). Вы увидите строку «Доступна новая прошивка Mavic Air 2» (New Mavic Air 2 firmware available);
  10. Далее вы увидите диаграмму загрузки и установки новой прошивки;
  11. При значении 100 процентов появится галочка с сообщением «Обновление установлено» (Firmware Installed);
  12. Mavic Air 2 автоматически перезагрузится.

Обновление прошивки пульта дистанционного управления mavic air 2 с помощью dji assistant 2

Обновление пульта управления квадрокоптера состоит из следующих шагов:

  1. Включите пульт дистанционного управления Mavic Air 2;
  2. Подключите пульт к компьютеру с помощью USB-кабеля;
  3. Откройте программу DJI Assistant 2 на своем компьютере и войдите в систему;
  4.  Выберите «Пульт управления Mavic Air 2» (RC for Mavic Air 2);
  5. Нажмите «Обновление прошивки» (Firmware Update) в левом верхнем углу Assistant 2;
  6. Нажмите «Обновить» (Upgrade) для последней версии прошивки Mavic Air 2;
  7. Нажмите «НАЧАТЬ ОБНОВЛЕНИЕ» (START UPDATE);
  8. На следующем экране вы увидите обновление прошивки пульта управления вместе с индикатором выполнения;
  9. Когда будет 100 процентов, вы увидите зеленую галочку и сообщение «Обновление успешно» (Update Successful);
  10. Перезапустите пульт управления.

Обновление прошивки mavic air 2 с помощью dji assistant 2

Обновление состоит из следующих шагов:

  1. Включите квадрокоптер Mavic Air 2;
  2. Подключите Mavic Air 2 к компьютеру с помощью USB-кабеля;
  3. Откройте программное обеспечение DJI Assistant 2 на компьютере и войдите в систему;
  4. Выберите ваш Mavic Air 2;
  5. Нажмите на кнопку «Обновление прошивки» (Firmware Update) в левом верхнем углу приложения Assistant 2;
  6. Нажмите «Обновить» (Upgrade) для последней версии прошивки;
  7. Нажмите «НАЧАТЬ ОБНОВЛЕНИЕ» (START UPDATE);
  8. На следующем экране вы увидите обновление прошивки Air 2 вместе с индикатором выполнения;
  9. Когда будет 100 процентов, вы увидите зеленую галочку и сообщение «Обновление успешно» (Update Successful);
  10. После завершения Air 2 автоматически перезагрузится.

Обновление прошивки: видео

Чтобы вам было еще проще обновить квадрокоптер, ниже разместим видео на русском языке по обновлению:

Опционально

Предлагаю вам DJI Assistant 2 1.1.2 — старая версия, в которой возможно включить дебаг режим для управления многими скрытыми настройками прошивки дрона, такими как скорость полета.

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

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

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

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

Смотрите про коптеры:  Запчасти для радиоуправляемых танков - купить - 4 страница

(DroidPlanner) для Android,

(iOS),

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

Примечания к обновлению mavic air 2

Перед началом обновления прошивки убедитесь, что у вас установлена последняя версия приложения DJI Fly. Некоторые исправления прошивки и новые функции будут работать только с последней версией приложения DJI Fly.

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

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

Если обновление завершится неудачно, перезагрузите дрон Mavic Air 2, пульт дистанционного управления и DJI Fly или DJI Assistant 2. Затем повторите попытку обновления еще раз.

Кроме того, если прошивка Mavic Air 2 не обновляется с помощью приложения DJI Fly, попробуйте сделать это с помощью приложения DJI Assistant 2 и наоборот.

Прошивка

Для того, чтобы все нормально заработало надо откатить прошивку дрона DJI Spark до стоковой версии V01.00.0900. Это можно сделать через тот же DJI Super-Patcher.

Запускаем скрипт и следуем инструкции на экране. Если вкратце то нам потребуется убедиться, что дрон подключился, выбрать откат на стоковую прошивку и в программе думлдор прошить дрон 2 (!) раза.

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

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

Перезапускаем дрон и радуемся полетам без ограничений!

Чтобы убедиться, что вы прошились успешно — перейдите в раздел about дрона в программе DJI GO 4 и проверьте версию установленной прошивки. Должно быть N/A на версии андроид.

Прошивка mavic air 2 v01.00.0113 — дата 2020.04.28

  • Добавлен FocusTrack. чтобы включить FocusTrack, перетащите рамку вокруг объекта в поле зрения камеры;
  • Добавлен режим HDR Video;
  • Добавлен режим SmartPhoto;
  • Добавлены путевые точки для Hyperlapse;
  • Добавлено разрешение 8K для Free и Waypoints в Hyperlapse;
  • Увеличена максимальная дальность передачи до 10 км.

Прошивка mavic air 2 v01.00.0130 — дата 2020.05.09

  • Исправлена ​​ошибка, когда видео записывалось на квадрокоптер неправильно;
  • Оптимизирован Smart RTH (возврат домой).

Прошить квадрокоптер —

Зачастую, после создания Вашего квадрокоптера возникает необходимость настройки PID-регуляторов безколекторных моторов, что является по-сути головной болью. Достаточно только изменить один параметр настроек в программе Mission Planner как тут же двигатель начинает хандрить. То сам сбрасывает обороты, то не реагирует на наклон по гироскопу повышенными оборотами, то и вовсе не набирает нужные обороты при нажатии на стикер газа. И так каждый раз — Ваш любимый летательный аппарат заставляет Вас регулярно «перепрошивать» полётный компьютер Ardupilot APM 2.6 (и др.) всё новыми и новыми «репликами» в поисках наилучших настроек и откликов всех четырёх моторов. Проходят дни настроек на земле. Напомню, здесь речь идёт именно о квадрокоптере, с рамой 650 мм, APM 2.5 и тягой двигателей 3 и более килограмм, с моторами Tarrot или их Китайскими аналогами. На бесконечных опытах, нам всё-таки удалось идеально настроить квадрокоптер для полётов с видеокамерой на подвесе. Речь не идёт о гоночных беспилотниках, речь скорее о спокойном, плавном, размеренном полёте для съёмок видео. И тем не менее пришлось изрядно поработать над полётной программой, а вернее сказать так — прошивной квадрокоптера. Прошивка успешно себя зарекомендовала и среди других квадрокоптеров, с полётным компьютером Ardupilot и ПО Mission Planner. Достаточно залить прошивку по-верх стоковой, как вы увидите существенную разницу. Про-сути квадрокоптер уже готов к полёту. Надо только откалибровать сам пульт. Друзья, из интернет-магазина настоятельно попросили меня продать им мою супер прошивку для квадрокоптера, конечно за небольшое вознаграждение, в чём я им не смог отказать. Спросите меня как прошить квадрокоптер!? Очень просто — теперь прошивку можно скачать файл прошивки квадрокоптера param (кликните по ссылке). Этот материал предоставлен для людей, у которых руки растут из нужного места. Не спрашивайте больше меня: «как»! Хороших полётов.

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

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

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

Установка образа ос на 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 покажет кучу сообщений с требованием откалибровать датчики и загрузит бортовые параметры с их текущими значениями:

Оцените статью
Добавить комментарий

Adblock
detector