ПО для автопилотов-ликбез

Материал из Multicopter Wiki
Перейти к: навигация, поиск

ПО для автопилотов-----автор Книжников ВВ

Существует множество полётных контролеров для БПЛА разных фирм производителей со своим оригинальным ПО! все узкозаточенные АП разрабатывались профи в своей области применения-----например для крылатых дронов очень хороша " Фэйютеч", для мультикоптеров " Тарот" и "Ди-джи-ай" и ПО писали спецы понимающие особенности САУ для конкретного вида ла !!! Но сейчас стали очень популярны ПО с открытым кодом типа " Ардупилот" для всех видов роботов , " Бетафлайт" для спортивных квадрокоптеров и "Айнав" для самолётов и поисковых мультироторов-----прелесть в том что у "бетки" и "айнав" один графический движок и похожие алгоритмы пользования и настроек!

Так как оболочки писали программисты-любители, то каждые придумывали свои термины далёкие от общепринятых понятий из авиации и САУ!!! Например графическую оболочку настройки автопилота как только не называют и "мишен-плэнер" и "ассистент" и "конфигуратор"----- хотя по сути это одно и тоже или по русски "настройщик"! В каждом ПО существует множество настроек и миксов, но тем не менее существуют всего четыре основных режима управления дроном------

первый это ручной----- или "RC" или "manual" или "acro" или "sport"
второй это удержание горизонта----- или "2d" или "atti " или "Angle"
третий это сохранение дрона при потери связи "fail-safe"----- или "возврат домой-RTH" по ЖПС или " аварийная  автопосадка" при разряде акку
четвертый это движение по запрограммированному маршруту опираясь на точки  GPS и 3D карты или полная "автономка" !!![1]

есть ещё специфические типа "зависания" это ЖПС удержание точки и высоты или глубины , объезд препятствий, сопровождение цели типа "следуй за мной", групповой полёт "рой" и другие!!!

Миксы нужны для правильного управления ла со своей оригинальной аэродинамической схемой типа---мультикоптер или крылатый дрон, где по разному 
расположены аэрорули и ВМГ  и он имеют свои особенности подключения рулевых машинок, регуляторов хода и их совместная работа----обычно для 
выбора   схемы микширования команд указаны графические картинки !!!

как прошить полётный контроллер?----[2]

Прошивка----- это загрузочная программа емкостью от сотен Кбайт и до несколько десятков Мбайт для управления аппаратной части автопилота стандартными протоколами связи через порты уарт АЦП и ЦАП----например

ру приёмник -----"РРМ" или цифровые "Sbus" и другие

сервоприводы и регуляторы хода----"РWМ" или цифровые "multishot" и другие

светодиодное освещение и мигание, звуковая"пищалка"

настройка видеопередатчика и камеры и телеметрии-----Тх через "ОSD"

ЖПС приёмник---- "nmеа" через Rх , "ublox" через Rх и Тх

лидар и уз-радар---Rх

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

Для каждого полётника существует своя версия оригинальной прошивки указанная производителем и зависит от архитектуры ЧИПА !!!

Внимание---при перепрошивки должно быть отключено бортовое питание АП и желательно отсоединить все периферийные цифровые устройства типа ру 
приемник, серво, регуляторы хода, видеопередатчик и ЖПС----иначе возможно "окирпичить" ЧИПы!!!

Продвинутые пользователи в программировании умеют переназначать порты процессора для адаптации к различным периферийным устройствам---- https://blog.rcdetails.info/menyaem-poryadok-motorov-..

айтишный юмор----[3]

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

Основная формула первоначальной настройки пидов----Prop=200/Кт, где для мультикоптеров Кт=Тстмах=n Fст/mg ----то есть общая максимальная 
тяговооруженность на стопе!

Алгоритм подбора ПИДов для квадрокоптера Кт=Тст=4 Fст/mg=4х0.5=2же, несмотря на то что все коптеры аэродинамически не устойчивы начинать надо только с коэф Prop=(ROLL 100----PITCH 100---YAW 100)----при условии симметричной схемы по моментам инерции осей Х и У!!! все остальные по нулям I=0. Dмах=0. Dv=0.----кроме всех расходов Ff=(500-500-500)!!! в меню "настройка профилей PID" выключены все функции, а вот фильтры и райты дефолтные!!!!!!

Для мультикоптера включить в конфигурации "AIRMODE"----основной режим "Angle"----настроить "fail-safe" на мягкую посадку!!!

делаем подлёт на высоту 0.5-1м над травой или снегом---рулим и смотрим за реакцией коптера! если дрожит уменьшаем Prop на каждую ось по 5-10 единиц пока не прекратит, если как пьяный качается то увеличиваем Prop на каждую ось по 5-10 единиц пока не прекратит!!!

А вот дальше начинаем добавлять только по одной функции и смотреть за реакцией стабилизации и управления коптера в полёте----если видим улучшение то применяем эту фишку, если нет то полностью исключаем эту нам ненужную настройку навсегда!!!

Для остальных коэф. можно применить правило "золотого сечения"----Ff=Prop, I=0.62Рrop, D=0.38Prop, но для правильных коптеров эти "костыли" не нужны!!! 

Математические фильтры Калмана нейтрализуют паразитные данные от механических колебаний и гармоник упругой системы "типа луча с грузом на кончике (мотор и винт)", которые шумят на гиро и аксель датчиках, но только до определённой амплитуды меньшей самого полезного сигнала, где средне-квадратичное значение ускорения вибраций не должно превышать 1 же!!! Сама жесткость материала или модуль упругости, площадь сечение луча повышают резонансовую частоту собственных колебаний, а длина луча и масса э-ВМГ понижают её---обычно для нано-квадриков это 200-300 Гц, для микро 100-150 Гц, для мини 50-70, для миди размеров уже 25-30Гц!

fрез=0.16(Kx S/m)^0.5/l , где Куп-коэф.поперечной упругости балки (Н/м), S-сечение (м2), l-длина (м), m-масса луча и э-ВМГ (кг)!!!

И вообще на мой взгляд как эксперта в ла ----грамотно собранный дрон с чистой аэродинамикой, правильной центровкой, с симметричной, безлюфтовой механикой, отбалансированной ВМГ и демпферной подложкой для АП сам по себе требует минимум настроек всяких коэффициентов и подключенных функций----90% фишек совсем не нужны!!!

Телеметрия через "OSD" на аналоговое видео-онлайн полноценное, активируешь нужный показатель ----главное не перегружать экран символами, иначе саму картинку будет не видно! Двигать правильно так —----наводишь курсор мышкой на нужный значок данных телеметрии на картинке "ОСД" самого конфигуратора и перетаскиваешь куда хочешь!!!

Главные показатели телеметрии----это напряжение и расход ёмкости акку, высота и скорость, расстояние и направление до дома, время, "RSSI"!!!
Второстепенные----сила тока, мощность, обороты, координаты ЖПС, горизонт, углы крена и тангажа, азимут, пробег, перегрузка, температура!!!

В конфигураторе слишком много ненужных "перделок и свистелок" благодаря большой производительности современных АП, которые просто сжирают ресурсы вычислений, тормозят и сильно греется ЧИП -----приходится соблюдать принцип минимальной самодостаточности в хотелках для конкретного дрона!!! Например------

1)ACRO- свободный пилотаж для мультикоптеров.

2)ANGLE - режим со стабилизацией, для которого можно задать максимальный допустимый угол наклона ЛА----работают гиро-аксели и удобна для мониторинга.

3)HORIZON - тоже стабилизация, но предполагающая более агрессивное управление для гонок.

4)AIRMODE - вспомогательный режим для самолёта и подруливают только гиро-датчики!!!

5)POSHOLD - удержание позиции по GPS только для мультикоптеров и удобна для поиска.

6)ALTHOLD - удержание высоты по барометру-----идеально для самолёта при круизе.

7)MAG - удержание курса по компасу при отсутствии ЖПС.

8)RTH - возврат домой по ЖПС.

9)WAYРOINT - полёт по запрограммированному маршруту.

Фишка в том что при активации режима самолёт или лк----полётник видит серво и графически меняет уровень "РWМ" от акселей и через приёмник с ру-пульта, а на выходе по нулям ,хотя там на шине ВМГ аж 8 каналов есть для октокоптера!!!

Можно выдавать на все моторы стандартный "РWМ" 50гц и они все работают и даже серво если заменить, но положение рычага соответствует управление газом моторов!!!

я ни разу не программист, но сумел решить эту задачу используя знания САУ методом "ход конем"------ надо в конфигураторе арминг указать на 180 градусов, потом войти в меню группы "моторы" —---затем выбрать PWM на 50ГЦ и аэродинамическую схему квадро-Х для лк с двумя э-ВМГ и квадро-крест для одномоторного самолёта-классика-----все 4 выхода встанут на 1500 мкс при арминге и на среднем газу-----передний мотор М4 вдоль оси полёта------боковые это элероны серво М2 и М3-----задний серво М1 это элеватор или руль высоты------реверсы работы аэрорулей делаются механически методом установки кабанчика на ось рм в зависимости от направления поворота!!!

Особенность работы в самолётной настройке это применение только самолётных регуляторов хода со стандартным "РWМ" 50гц прошивкой ---коптерные прошивки 
рх типа "blheli" не корректно работают!!!

режим "Horizon" адекватно работает на среднем газу----"Anglе" на полном газу-------на малом газу все элероны работают как флапероны вниз, а руль высоты верх это как режим парашютирования!!!

Внимание-особенность обоих конфигураторов! после настройки на компе, выйти из конфигуратора (отключиться), отсоединить USB кабель и полностью 
передернуть электро-питание дрона, только тогда все изменения загрузятся в рабочее положение и АП заработает правильно!!!

В настройки "меню" полётника можно войти с ру-передатчика----при выключенном "арминге" ручка газа в центр и влево, штурвал вперёд----можно визуально ползать по картинке "ОСД" экрана видеомонитора верх-вниз тангажом----выбирать настройки креном влево-право или рысканьем----выходить из меню в пункте "сохранить и выйти" !!!

Настройка автовозврата домой----весело[4]----[5] 

Есть "Inav", но там всё на английском и очень мало поддерживаемых полётников [6]----алгоритм настройки пидов как у "Betaflight"!!! [7] для самолётов в отличии от мультироторов возможно применение простых ЖПС-приёмников без встроенного магнитного компаса всего с четырьмя пинами G(земля-минус), +U(напряжение питания 3.3 или 5 Вольт), Rx(шина приёмная подключается на шину передающую АП), Tx(шина передающая на шину приёмнную)!!!

Основная формула первоначальной настройки пидов для аэродинамически устойчивых  крылатых ла----по тангажу Prop=100/Кт, где перегрузка по вертикали 
для самолётов и лк Кт=Тст АКмах 

ПИДЫ для летающего крыла-бесхвостки при Кт=1х6=6же!-----Prop=(ROLL 10----PITCH 17---YAW 4) с учётом того что плечо центра давления элевона по крену у лк относительно продольной оси вращения X обычно в 1.7 раза больше, чем плечо центра давления элевона по тангажу относительно поперечной оси вращения Y проходящей через центра масс ла, а это значит что по обратной зависимости чувствительности от длин плеч ROLL=10 в 1.7 раза меньше, чем PITCH=17!!!

все остальные по нулям I=0. Dмах=0. Dv=0.----все Ff=(250-250-250) по умолчанию это коэф. решимости рулить! В " айнав" коэф. решимости рулить "Ff" имеет другую размерность чем в "бетке"! в меню "настройка профилей PID" выключены все функции и настройки кроме линейного газа=100%, а вот фильтры и райты дефолтные!!!

Внимание!!!особенность "айнав"-----чтобы "арминг" сработал с пульта ру все триммера и суб-триммера крена, тангажа и рыскания обязательно по НУЛЯМ, режим "мануал", газ и все миксы выключены!!![8]
чтобы заработал возврат домой обязательно активировать при "fail-safe" режим "NAV RTH" на какой-нибудь многопозиционный тумблер дискретных команд!!!

настройка самолёта ----[9]

Для "Ардупилот" смотри статью "Mission Planner. Полный список параметров"

Перехватчик.jpg

Водоплав4.jpg

Личные инструменты
Пространства имён
Варианты
Действия
Навигация
Инструменты
Группа ВКонтакте