Вопросы по iNav

karabasus
rc468:

Сработает на прошивке Betaflight

Это не возврат домой, это режим спасения - он метает коптер в направлении дома и там бросает.

whoim

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

Это если неохота модуль с компасом брать, а gps есть.

karabasus
rc468:

Inav может лет через 10 сделают.

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

rc468
karabasus:

Это не возврат домой, это режим спасения - он метает коптер в направлении дома и там бросает.

То есть если коптер находится от меня в километре, скажем, домой он не вернется?

karabasus:

но никто вам не мешает написать свою программу и даже по датчикам которые есть можно вернутся с точностью до метра (если учтете все моменты и уложитесь в ограничения)

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

E404
whoim:

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

Это если неохота модуль с компасом брать, а gps есть.

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

karabasus
E404:

прилетит ли он домой без компаса

На коптере с прошивкой BF - 50 на 50 (либо прилетит либо нет 😃). На inav 100% не прилетит, так как без компаса навигационные режимы не работают.

rc468:

То есть если коптер находится от меня в километре, скажем, домой он не вернется?

Видео же хватает в интернетах о gps rescue mode в betaflight. И чаще вывод такой - “Попробовал использовать данную функцию и…
Могу сказать одно- пока GPS на Betaflight буду использовать только для определения скорости полёта )))”

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

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