Вопросы по iNav

Talentfrei

Всем привет!
Сегодня летал без ветра. RTH Speed абсолютно нормальный. Думаю что вчера просто ветeр был сильный. Land Speed тоже ОК. Никаких нареканий, все работает, очень доволен !!! Огомное спасибо jShadow !!! Respekt!😁

me_com
jShadow:

убран список GPS-спутников с уровнем сигнала, зато добавлена обратно поддержка LEDSTRIP

Простите, но о каком списке идет речь? Если о списке спутников в клинфлайте во вкладке GPS, как проверить их наличие?

RW9UAO

а вот такой вопрос у меня. тест РТХ, ГПС залочен, летит. переходим в режим РТХ и самолет улетает от точки “дом”. пробовали с любых направлений, улетает строго в противоположную сторону. какую настройку я не докрутил?

dollop

Какой полетный контроллер, с магнитометром или без?
Что показывает ОСД?

dollop

и blackbox не включить… ну может uart SD логер есть? Потому что так можно долго гадать.
Выложи куда-нибудь дамп настроек из cli, гляну настройки.
руддер есть и подключен?

RW9UAO

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

dollop

О, вот тут и ответ, кажется.
Отключаем руддер и летаем на элеронах с рулем высоты - проверено!
Если нужен руддер, то пропускаем его насквозь. У меня было чувство, что руддером iNAV в навигации не рулит. Стабилка по руддеру работает на 100%. Нужно код глянуть

Talentfrei

Сегодня тестовал новые PID
PH:
nav_posr_p = 90
nav_posr_i = 10
nav_posr_d = 255

AH:
nav_vel_p = 200
nav_vel_i = 10
nav_vel_d = 250

Вот результат

jShadow
ekuzmi:

Соответственно, два вопроса:

  1. Что я не так делаю с GPS, может что в CLI написать нужно?
  2. Там много параметров в CLI по поводу baro, что куда крутить или где об этом посмотреть? И вообще, может я неправильно перехожу в этот режим? На Фантоме было просто, там стик газа подпружиненный и находится в центральном положении, режим альтхолд - не отключается. Стик отпустил и он вист - не уходит по высоте.

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

Для “правильного” висения нужно в CLI выставить газ висения (примерный) - nav_mc_hover_thr, по умолчанию он 1500 (50% газа)

Deadband для альтхолда не очень большой по умолчанию, поэтому и середину поймать трудно. Крутить параметр althold_deadband.

ekuzmi:

Я так понимаю, все эти шумы можно программно отфильтровать, и точно оно есть в настройках.

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

Talentfrei:

Сегодня летал без ветра. RTH Speed абсолютно нормальный. Думаю что вчера просто ветeр был сильный.

Да, 20км/ч ветер сильноват. Сейчас на RCG докручиваем новые ПИДы (и полетные и навигационные), должно стать получше.

RW9UAO:

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

Текущая прошивка руддер для навигации не использует.

У меня еще мысля появилась, а как смонтирован полетный контроллер? Случайно не “задом-наперед”?

mahowik

вы с разработчиками не общаетесь? 😃

jShadow
mahowik:

вы с разработчиками не общаетесь?

Бывает иногда 😁

DigitalEntity - это я и есть

mahowik
jShadow:

Да, 20км/ч ветер сильноват. Сейчас на RCG докручиваем новые ПИДы (и полетные и навигационные), должно стать получше.

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

jShadow
mahowik:

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

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

Задержку GPS да, можно и до 500мс увеличить. Хотя для скорости и курса она для Pedestrian-модели вообще до пары секунд доходить может…

mahowik
jShadow:

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

задержка фазы в данных приводит к болтанке и необходимости ослабления ПИД-ов в итоге… проверено…

jShadow:

Задержку GPS да, можно и до 500мс увеличить. Хотя для скорости и курса она для Pedestrian-модели вообще до пары секунд доходить может…

это как? для разных скоростей разный лаг?
вы пробовали как нить померять задержку? для ИНС, как писал ранее, это самый важный параметр фактически…

jShadow:

Бывает иногда

DigitalEntity - это я и есть

мы наверное о разном или о разных… 😃
я две недели назад писал парочку соображений…
rcopen.com/forum/f123/topic443443/173

jShadow
mahowik:

задержка фазы в данных приводит к болтанке и необходимости ослабления ПИД-ов в итоге… проверено…

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

mahowik:

это как? для разных скоростей разный лаг?

Нет, для разных GPS-модулей разный лаг. В координатах на модели Pedestrian около 200-500 мс обычно, на модели Airborn<4G менее 100мс.

mahowik:

У вас в коде ГПС лаг выставлен на 1.5 сек. Это на глазок я так понимаю? ИНС уже работает на удержние позиции в полевых условиях?

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

mahowik:

На сколько тяжелый BiQuad фильтр? В чем его плюс? Не дает задержки фазы на нужных частотах?

Легкий, не сложнее FIR. Плюс в том, что параметры можно легко посчитать для любой частоты среза, в отличие от FIR. Фазовую задержку вносит больше, чем FIR или примитивный RC-фильтр, но это с лихвой окупается настраиваемой АЧХ.

mahowik
jShadow:

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

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

jShadow:

Нет, для разных GPS-модулей разный лаг. В координатах на модели Pedestrian около 200-500 мс обычно, на модели Airborn<4G менее 100мс.

это понятно что лаг разный для разных модулей… а как меряли? по логам?

jShadow:

0.2 сек работает в полевых условиях, причем работает неплохо

лаг баро ~0.3 сек… по вашей логике для шустрых гпс модулей хистори не нужна 😃

jShadow
mahowik:

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

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

mahowik:

это понятно что лаг разный для разных модулей… а как меряли? по логам?

По логам, сравнивал данные, выдаваемые GPS и наблюдаемые по акселерометру. Меньше 200мс значение ни разу не получалось, так что 200мс - вполне безопасное значение по умолчанию.

mahowik:

лаг баро ~0.3 сек… по вашей логике для шустрых гпс модулей хистори не нужна

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

Всё усугубляется еще и тем, что дискретность данных разная. У интеграторов ИНС - 500Гц-1кГц, смотря какой looptime выставлен, у GPS - 5-10Гц, у баро - 20Гц, а у хистори (и у выходных данных ИНС) - 50Гц.

mahowik
jShadow:

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

Если ориентироваться на mpu6050/6000 (где внутренний фильтр на 42 или 20гц) и ms5611, то картина предельно ясная. Выводим расчетные высоту по акселю из хистори и сырую высоту по баро на графики и подбираем задержку буфера для хистори по схождению этих двух кривых.
У меня вышло ~325мс. Сам удивился, т.к. ожидал ~150мс макс… Получилось довольно точно, т.к. сейчас даже при обильной болтанке по вертикали, расхождение минимально…

jShadow:

По логам, сравнивал данные, выдаваемые GPS и наблюдаемые по акселерометру. Меньше 200мс значение ни разу не получалось, так что 200мс - вполне безопасное значение по умолчанию.

Это вы наверное на довольно современных модулях катались 😃
Пристарелые народные mtk3329/3339 и ublox-ы определенно от 500мс и выше. Хотя я пытался бегать стометровки по полю уже полтора-два года назад 😃
В прошлом году Алексей Козин придарил мне парочку на mtk3333 с поддержкой Глонасс. Этот уже пошустрее, может там и будет 200-300мс. У вас на этом чипсете нет модулей? Не меряли?

jShadow
mahowik:

Если ориентироваться на mpu6050/6000 (где внутренний фильтр на 42 или 20гц) и ms5611, то картина предельно ясная. Выводим расчетные высоту по акселю из хистори и сырую высоту по баро на графики и подбираем задержку буфера для хистори по схождению этих двух кривых.

У вас же это уже сделано и работает? Можно глянуть код? Вдруг я где-то делаю элементарную ошибку из-за чего у меня оно и не работает.

mahowik:

Пристарелые народные mtk3329/3339 и ublox-ы определенно от 500мс и выше. Хотя я пытался бегать стометровки по полю уже полтора-два года назад

Странно, у меня на Neo-M8N получилось 200-300 мс.

mahowik:

В прошлом году Алексей Козин придарил мне парочку на mtk3333 с поддержкой Глонасс. Этот уже пошустрее, может там и будет 200-300мс. У вас на этом чипсете нет модулей? Не меряли?

Нету, увы.

Ri777
jShadow:

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

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