Вопросы по iNav

rc468
karabasus:

Видео же хватает в интернетах о gps rescue mode в betaflight. И чаще вывод такой - "Попробовал использовать данную функцию и…

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

tuskan
rc468:

Я понимаю, что это не полноценный возврат домой, но хотя бы просто лететь как самолет в сторону дома - это уже успех

ну примерно так и работает.
там задача проста - попасть в 20 метров круг от точки взлета и дизарм, если не успел перехватить управление.

rc468
whoim:

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

В ANGLE висеть на одной высоте никогда не будет. Тяга для удержания высоты постоянно немного меняется, поэтому подобрать ее невозможно.
Его будет все равно тянуть или вверх, или вниз. Но плавно, без прыжков.
В ALTHOLD будет висеть, но будут флуктуации по высоте все равно. Опять же, плавные, без прыжков.

Если у вас прыгает - скорее всего вы накрутили лишнего в конфигурации пидов, рейтов, экспонент и т.п. Может еще и на пульте что-то сделали?
Как правило, кроме консервативного изменения основных пидов, все остальное трогать не надо. И тогда коптер вполне себе нормально висит и управляется.

whoim:

Просто смотришь видео у людей - висит, на 10см максимум перемещается… эх

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

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

whoim:

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

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

whoim:

подумаю ещё, может это и норма?

Нужно видео коптера со стороны

IrinFenyx
whoim:

вот и я уже начинаю думать, что многого хочу. Хотелось “подвесить” его хоть на 30 секунд )

Конечно не много. У меня вчера при сильном ветре вполне себе в режиме стабилизации висел. Правда дрейфует мееедленно по высоте - но это я на тот момент не до конца экспоненту throttle подогнал. А вот если в этом режиме резко так pitch или roll навалить - то проседает при разгоне так что если не подгазовать, то стремится встретиться с землей. Вот это мне не понятно пока. А какие у вас настройки PID можно узнать?

Кстати про rc expo и manual rc expo мне никто объяснить не хочет - для чего то и то и чем отличается? Предполагаю, что как раз настройка pitch/roll для режимов стабилизации и ручного. Я прав?

karabasus
IrinFenyx:

Кстати про rc expo и manual rc expo мне никто объяснить не хочет

Так, что тут объяснять - это экспонента

IrinFenyx:

pitch/roll для режимов стабилизации и ручного

IrinFenyx:

Я прав?

Да.
И поиск ж сразу выдаёт - первая ссыль всё объясняет - google.gik-team.com/?q=manual+rc+expo 😃.

😃.

IrinFenyx
rc468:

какая религия не позволяет считать коптер самолетом и тупо на возврате домой лететь так, как летит самолет?

Вот представьте себе, что вы - полетный компьютер. Вы сидите в черной коробке и у вас несколько индикаторов с цифрами. Высота (по бару и по GPS), координаты где вы взлетели, координаты где вы сейчас (висите на месте). И все. Окон нет, по солнцу или зведам не сориентируешься, компаса тоже нет. Внимание вопрос! Куда вам лететь? Где перед, где зад? “дом” в каком направлении? Не известно. Только если начать куда-то лететь, то по изменению координат можно понять в ту ты сторону летишь или нет. И потом так же путем постепенных коррекций направления выйти на нужный курс. Это все нужно придумать как вычислять и как лететь. Пока видимо никто не озаботился. А вот если есть компас, то можно сразу вычислить угол между текущим направлением “носа” судна и направлением на “дом”. Почему в самолете проще? Потому что боком и кормой вперед они не летают - он всегда летит “вперед”. Причем непрерывно. Значит текущее направление на носа судна = вектору от предыдущих GPS координат к текущим. Ветер дает небольшую погрешность, но этого достаточно. А вот коптер… хз куда он в данный момент летит, не зависимо от направления и тяги винтов в каждый конкретный момент. Это летающая абракадабра! Не удивительно что сносное управление смогли прикрутить только сейчас - во времена дуровых (и дармовых) вычислительных возможностей. Но труд разработчика все еще не дармовой, поэтому не все что теоретически возможно фактически реализовано.

karabasus:

Так, что тут объяснять - это экспонента

Ага. А подводная лодка - утонула. Спасибо Кэп.

karabasus:

И поиск ж сразу выдаёт - первая ссыль всё объясняет

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

rc468
IrinFenyx:

Внимание вопрос! Куда вам лететь? Где перед, где зад? “дом” в каком направлении?

Перед это там, где моторы 4 и 2, зад это там, где моторы 3 и 1.
Как лететь вперед, мы прекрасно знаем. Даем питч вперед на крейсерский угол и летим вперед.

Координаты дома у нас есть, текущие координаты нам дает гпс. Дальше элементарная математика - и коррекция курса.
Я же говорю - лететь как самолет, в чем проблема? Самолеты уже так летают, ничего нового придумывать не надо.

IrinFenyx:

Почему в самолете проще? Потому что боком и кормой вперед они не летают - он всегда летит “вперед”

О господи. Ну так запретите коптеру летать боком и кормой, пусть летит только вперед и ВСЕ! Ну в чем проблема-то?

karabasus
rc468:

Даем питч вперед на крейсерский угол и летим вперед.

Так и летит в бетафлае, кто мешает то - пользуйтесь.

rc468

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

karabasus:

Так и летит в бетафлае, кто мешает то - пользуйтесь.

Я же и говорю, что никто и ничто не мешает сделать так же и в Айнаве, а мне говорят - сложно, не самолет.

tuskan
IrinFenyx:

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

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

whoim

>А какие у вас настройки PID можно узнать
На память… по питчу/роллу 45/22/35, но могу ошибаться.
Навигационные, баро и фильтра скину завтра на пресетные, 10’ коптер.

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

Завтра дособираю турнигу с qczek и там посмотрим с ней.

OTR1UM
IrinFenyx:

полетный компьютер

Может контроллер?

IrinFenyx:

Потому что боком и кормой вперед они не летают - он всегда летит “вперед”.

Ну так пусть коптер тоже летит вперёд, вам акселерометр на борту для красоты что ли?
Но вообще, как человек, активно эксплуатирующий самолёты под айнавом, могу сказать, что лететь мне доводилось и хвостом вперёд, и боком тоже. Говорить о том, что самолёт “всегда летит вперёд”, имхо, некорректно.

IrinFenyx:

Окон нет, по солнцу или зведам не сориентируешься, компаса тоже нет

А данные с гироскопов вы не хотите использовать? Или у вас их тоже нет?
Кто мешает при наличии достаточной горизонтальной скорости определять курс по данным GPS, а во время висения переключаться на ИСО и гиры? Да, у МЭМС-гироскопов есть ошибка, которая со временем накапливается, но происходит это накопление не так уж и быстро. Достаточно вспомнить китайские игрушкоподобные квадрики, которые умудряются разворачиваться и лететь в сторону дома, имея на борту только аксели с гирами.

Задача решаемая, решение которой приведёт к появлению в айнаве подобия ардукоптерного EKF’а, но лично я не хотел бы такого развития событий.

IrinFenyx:

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

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

IrinFenyx
rc468:

О господи. Ну так запретите коптеру летать боком и кормой, пусть летит только вперед и ВСЕ! Ну в чем проблема-то?

Возьмите и напишите - в чем проблема-то?!

tuskan:

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

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

OTR1UM:

Может контроллер?

А есть разница?

OTR1UM:

мне доводилось и хвостом вперёд, и боком тоже. Говорить о том, что самолёт “всегда летит вперёд”, имхо, некорректно.

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

OTR1UM:

А данные с гироскопов вы не хотите использовать? Или у вас их тоже нет?

Ну объясните мне как по данным с гироскопов определить в каком направлении в данный момент смотрит коптер.

OTR1UM:

Кто мешает при наличии достаточной горизонтальной скорости определять курс по данным GPS, а во время висения переключаться на ИСО и гиры?

Мешает отсутствие реализации данного алгоритма - разве не очевидно? У разработчиков нет времени/сил/вдохновения/желания придумывать как же вычислить текущее направление да так чтобы исключить вероятность улетания в неизвестном направлении в случае когда ленивый/жадный владелец коптера не подключил магнитометр. Я же нигде не писал, что это принципиально не возможно! Я писал что алгоритм будет ДРУГОЙ, нежели имеющийся для самолетов, иначе реализация была бы в виде ctrl+c, ctrl+v.

OTR1UM:

В процессе перевода англоязычных статей горе-локализаторы

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

whoim:

На память… по питчу/роллу 45/22/35, но могу ошибаться. Навигационные, баро и фильтра скину завтра на пресетные, 10’ коптер.

А на барометр какие?
Загонялся последние два дня читал про пид-регуляторы (не коптеры а общую теорию и практику). Колебания возникают в общем случае при задранных P и особенно I, когда реакция процесса особенно замедленна (а инерция по Z у коптера, да еще большого ооочень долгая). Для настройки один авторитет рекомендовал скинуть в 0 I и D, затем подстроить P до того момента когда реакция будет приемлемо быстрой, но колебания только начнутся, но будут затухающими. Потом медленно поднимая D придавить их (доведя до начала высокочастотного дрожания - влияния шума, а потом уменьшить вдвое), а потом подгонять I тоже до начала колебаний и потом тоже уменьшить раза в два. Но там величины указаны в терминах коэффициентов усиления. Как они соотносятся с попугаями, которые в айнаве отображаются - тут уж фиг его знает, но общий принцип ясен. P- это основная настройка, D - для подавления перерегулирования, а I для коррекции долговременной ошибки (которая как я понимаю по баро должна проявляться в виде дрейфа по вертикали в режиме стабилизации) и ускорения достижения стабилизации.
Кстати, для проверки можно настроить управление чтобы ручное висение было сильно ниже среднего положения газа, тогда по скачку (и скорости затухания колебаний после него) можно как раз увидеть как ведут себя настройки PID. Хотя если дело в стабилизации, по идее в ручном-то режиме не должно скакать… Но я слишком мало знаю как там в айнаве всё завязано, чтобы точно представлять что на что влияет.

rc468
IrinFenyx:

Возьмите и напишите - в чем проблема-то?!

уже все написано.

IrinFenyx:

Ну объясните мне как по данным с гироскопов определить в каком направлении в данный момент смотрит коптер.

Направление, куда он смотрит, определяется из прямолинейного движения вперед с чтением координат ГПС.
Как у самолета.
На любой ваш вопрос по этому поводу, ответ - как у самолета.

IrinFenyx:

Мешает отсутствие реализации данного алгоритма - разве не очевидно?

Реализация есть. Самолеты летают на айнаве.

IrinFenyx:

алгоритм будет ДРУГОЙ, нежели имеющийся для самолетов

Нет, точно такой же.

Valery555
rc468:

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

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

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

OTR1UM
IrinFenyx:

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

Ошибаетесь, предусмотрены.
Айнав прост только в вашем воображении.

IrinFenyx:

Мешает отсутствие реализации данного алгоритма - разве не очевидно?

“Возьмите и напишите - в чем проблема-то?!” (с)

IrinFenyx:

Ну объясните мне как по данным с гироскопов определить в каком направлении в данный момент смотрит коптер.

Побуду КЭПом - нужно проинтегрировать угловую скорость по времени.
Главное вовремя переключиться с gps heading’а на ИСО.

IrinFenyx:

Я писал что алгоритм будет ДРУГОЙ

Как только борт наберёт достаточную горизонтальную скорость для стабильного определения курса по данным GPS, алгоритм ничем от самолётного отличаться не будет.

IrinFenyx:

Все придумано заграницей, а наши только иказить могут.

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

Valery555:

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

Если мне не изменяет память, раньше Failsafe Stage 1 и Stage 2 были разделены, и действия в Stage 1 можно было выбрать (Hold / Set / Auto)

Я настраивал канал режимов на активацию Angle + AltHold, а для первых 4 каналов выставлял нулевые углы питча / ролла / ява и средний газ (1500) для висения в альтхолде.

Но затем Stage 1 убрали за ненадобностью. Т.е. сама по себе первая стадия осталась, но айнав обрабатывает ее автоматически.
Я лично сомневаюсь, что внутри Stage 1 есть критические баги, способные уронить коптер. Отказ от пользовательской настройки первой стадии произошел очень давно, и будь там какие-то косяки, они бы уже давно всплыли.

Valery555
OTR1UM:

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

Знать от того нормального руководства на русском нет. Читаем кривые переводы с английского.

whoim
rc468:

Нужно видео коптера со стороны

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

С пидами - начинал все со стоковых пресетов, пробовал 7 фристайл и 10 дюймов. От 10-дюймового в итоге по питч/ролл немного все позадирал вверх, P и D в основном, процентов на 20. Так стабильнее висит, лучами не качает сильно.
После полез в навигационные и высотные, лучше не стало. Скину на пресет снова, верну roll/pitch и буду пробовать. Баро работает, показания есть. Но сейчас его тестить наверное бесполезно, за окном ураган, давление сто пудов скачет сильно. Квартира, 4 этаж…

OTR1UM
Valery555:

Знать от того нормального руководства на русском нет. Читаем кривые переводы с английского.

Этот вопрос уже многократно обсуждался.
Интерес к проекту в РФ и странах СНГ был крайне низким. Про пожертвования деньгами / оборудованием или участие в тестировании я даже говорить не буду.
Поэтому было принято единственно верное решение - писать вики на языке, понятном большинству пользователей.

IrinFenyx
rc468:

Направление, куда он смотрит, определяется из прямолинейного движения вперед с чтением координат ГПС.

Предположим, коптер движется вбок. Из координат gps GPS ПК посчитает что там перед, увеличит скорость вперед - вектор изменит направление, возникнет ошибка и т.д. Вы не понимаете простую вещь, т.к. привыкли всегда знать где перед у ВАшего тела. Квадрокоптер без глаз - он этого не знает. Если он как самолет мог бы двигаться ТОЛЬКО вперед, причем не останавливаясь, то задача упрощается на порядок. В коптере не получится сделать “как в самолете”, потому что направление его движения никак не связано с продольной осью самого аппарата. Для этого и нужен магнитометр. При его отсутствии требуется алгоритм, анализирующий ИСТОРИЮ передвижений аппарата ДО текущего момента и вычисляющий вктор движения относительно корпуса, а затем приравнивающий его к вектору, полученному от GPS. Так что совсем не “так же как у самолета”.

OTR1UM:

“Возьмите и напишите - в чем проблема-то?!”

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

OTR1UM:

Как только борт наберёт достаточную горизонтальную скорость

Т.е. как минимум, от самолетного алгоритм должен отличаться тем, что сначала коптер должен стабилизироваться на месте, потом начать лететь с некоторой скоростью в направлении “вперед”, а уж тогда определить куда смотрит этот “перед” по данным с GPS. Но это уже немного другой алгоритм. И думаю это не последний нюанс. Я конечно не знаю какие приоритеты у разработчиков inav, но раз такой функции нет, значит с этим есть какие-то трудности или им есть чем еще заняться.

OTR1UM:

На всякий случай напомню, что создателем и ведущим разработчиком айнава является гражданин РФ

Вот и я об этом.

OTR1UM:

Поэтому было принято единственно верное решение - писать вики на языке, понятном большинству пользователей.

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

whoim:

С пидами - начинал все со стоковых пресетов, пробовал 7 фристайл и 10 дюймов.

Я вообще никакой пресет не применял. Значения сброшены по умолчанию на все. Там даже фильтры никакие не настроены (надо бы записать лог и посмотреть какие частоты фильтровать). Висит. Немного (совсем чуть) подкрутил pid’ы на пробу по своему разумению - посмотрю будет ли разница. Но по идее не должно быть заметно.

tuskan
IrinFenyx:

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

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

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